1 Introduction

Logistics links geographically distant markets together, transporting items to people all over the world. The primary goal of logistics is to get the Right product to the Right place, at the Right time, at the Right price, and at the Right cost (Lam et al. 2008). Following this 5R strategies, it helps organizations to create a high-quality, customer-focused logistics (Jain and Raghavan 2009; Kovačić et al. 2015; Jiang et al. 2016; Saez-Mas et al. 2018; Lam 2019). A high-quality and customer-focused logistics facilitates the creation of time and place utility by moving items from one place to another, it is a vital component of world trade and economic growth, and it has a major impact on the financial performance of global business. According to a report published by the Council of Supply Chain Management Professionals (Kearney 2016), business logistics cost in the United States rose to USD1.48 trillion in 2015, a 2.6% increase from the previous year. This figure far exceeds the amount spent on other business functions, such as information management. For a market with low logistics costs, a firm can enhance the competitiveness of its products in the global business market and enable importers to introduce a variety of industry and consumer items to new markets. Cost-effective logistics also helps organizations access lower-priced materials globally, achieve competitive product landed costs, improve demand fulfillment opportunities, and achieve global economies of scale. In addition, their service capabilities and customer satisfaction can be enhanced through efficient and effective logistics. Logistics services truly add value to global business, with a firm’s logistics function playing a strategically important role in its success.

This importance of the logistics function has led to several studies on logistics-related problems. One of the major approaches to examining such problems employs the concept of the vehicle routing problem (VRP) and its extensions. The VRP is a combinatorial optimization problem of graph theory. A graph \( G\left( {V,E} \right) \) consists of a set of vertices \( V \) and a set of edges \( E \). The problem seeks to minimize the transport logistics cost by identifying routes with respect to customer demand under certain constraints (Pillac et al. 2013). Some studies have focused on the delivery of customer demand within a specified service time, such as the earliest and latest delivery times in the logistics routing (Ros-McDonnell et al. 2012; Qi et al. 2015). Here, items are delivered from a central depot to customers who have placed orders, and the objective is to minimize the cost of delivery. The proposed algorithms commonly try to identify the route or determine the most efficient way to cover a complete network (Golden et al. 2008). The service time can be a predefined fixed period within which items need to reach a customer, such that delivery times beyond this period are invalid. In this approach, logistics routes are usually designed such that items are delivered by a single logistics fleet within a fixed period, where customer demand must be within the capacity of the fleet (Righini and Salani 2006). This approach reflects the increasing importance of just-in-time production systems and the tight coordination required in distribution and logistics operations. For example, a maximum route duration time may be fixed for a logistics route (Mourgaya and Vanderbeck 2006; De Oliveira et al. 2016), where the time between the nodes can be decomposed into individual time intervals (Lam and Ip 2019). Then, the delivery and pickup times are fixed (Fügenschuh 2006), including a fixed latest delivery time (Ros-McDonnell et al. 2012; Koc et al. 2015; Qi et al. 2015) that incorporates some idle time. In contrast to the predefined fixed period approach, other approaches choose to relax the period by applying penalty costs (Hashimoto et al. 2006). This increases the flexibility of delivery and can reduce the logistics cost without having a negative effect on customer satisfaction (from early or late delivery). For example, late deliveries may have penalties that significantly exceed those for early delivery, and in many practical situations, customers may have a preference for a delivery time. This approach provides a flexible alternative logistics plan. For example, the latest delivery time can be set by the customer, where late delivery is accepted if a penalty cost is applied (Ghoseiri and Ghannadpour 2010), and the earliest delivery time can change within certain constraints (Tan et al. 2007). In addition, this approach is preferable when the number of delivery vehicles is limited and demand is uncertain (Asl et al. 2012; Khebbache-Hadji et al. 2013).

Multi-depot vehicle routing problem with time windows (MDVRP-TW) is an extension of classical VRP; multiple vehicles start from multiple depots and return to their original depots at the end of their assigned tours (Carlssony et al. 2010; Kaur 2013). In general, the aim of MDVRP is to increase the efficiency of delivery, and its objective is to minimize the total delivery distance or time spent in serving all customers. In addition, Heuristic approaches are mainly adopted to solve the MDVRP, such as genetic algorithms, simulated annealing, and tabu search method (Mirabi et al. 2010; Tricoire et al. 2013; De Grancy and Reimann 2015). MDVRP implicates multiple depots instead of only one. In the conventional VRP, each vehicle is assigned with the same number of customer nodes, but in MDVRP, the same number of vehicles is assigned to each depot (Kaur 2013). In most of the logistics cases, demands vary at the customer nodes. A logistics routing in MDVRP results in a set of daisy-chain network configurations that minimize the maximum latency between a depot and a customer (Kaur 2013), i.e. every customer has a demand which varies stochastically, then vehicles are assigned to the customers and one customer is served by only one vehicle. The objective of MDVRP is generally done by making clusters based upon the distance of cluster from the depot (Giosa et al. 2002; Saez-Mas et al. 2018). Although these approaches to routing problems have received much attention, service times are still the dynamic factor that affect logistics practices.

The vehicle routing problem with backhauls (VRPB) is another extension of the classical vehicle routing problem where customers can receive items from a deport and return items back to the depot simultaneously; customers who require deliveries are regarded as linehaul customers while customers who require pickups are regarded as backhaul customers. The VRPB was introduced by Deif and Bodin (1984). In their modeling, the customers are partitioned into linehaul and backhaul customers. Items have to be loaded at the depot and firstly delivered to linehaul customers, then followed by the backhaul customers and the pickup items have to be transported to the depot. Toth and Vigo (2002) provided overviews on the standard VRPB. VRPB is particularly useful in solving distribution problems, such as food is delivered to supermarkets (linehaul customers) while food is also collected in distribution center from suppliers (backhaul customers) (Oesterle and Bauernhansl 2016; Lin et al. 2017; Walmart 2019). In the VRPB, it is generally a problem of determining a set of vehicle routes visiting all customers (both linehaul and backhaul customers) such that (1) one vehicle is responsible for one route that starts and finishes at a depot with a minimum distance and minimum cost; (2) the total number of items for linehaul customers and from backhaul customers should within the capacity of the vehicle; (3) linehaul customers are firstly visited then followed by backhaul customers; (4) each customer is visited by exactly one vehicle; and (5) each route must contain at least one linehaul customer. The VRPB has several variants. Parragh et al. (2008a, b) reviewed and classified the VRPB variants. Similarly, Koç and Laporte (2018) provide a comprehensive review on VRPB variants and extension. The time-windows VRPB is one of the VRPB variants that applies a specific time for each customer (Thangiah et al. 1996). In the time-window VRPB, the linehaul customers have their delivery time while the backhaul customers have their pickup time (Reimann and Ulrich 2006). The multi-depot VRPB is another VRPB variant that considers several depots for delivery or pickup and each depot serve its own clustered customers (Salhi and Nagy 1999). In the multi-depot VRPB, it aims to minimize the distance and travel time in a route (Bektas and Laporte 2011; Chávez et al. 2016). The mixed VRPB is a VRPB variant that releases the visiting sequence restriction (Wade and Salhi 2002), i.e. backhaul customers can be visited before linehaul customers. In the mixed VRPB, cost can be saved by incorporating a control on the mix of customers on routes, and customers are allowed to receive and send items simultaneously (Ropke and Pisinger 2006; Tütüncü et al. 2009). The heterogeneous fleet VRPB is a VRPB variant that describes the composition of fleet in the VRPB, where the fleet size or fleet type can be varied (Tavakkoli-Moghaddam et al. 2006; Salhi et al. 2013). The VRPB is NP-hard since it extends the VRP; heuristics and exact method solutions are applied for standard VRPB or its variants. The common objective function for problem formulation is to minimize the total cost, and loading constraints are considered in VRPB (Oesterle and Bauernhansl 2016; Lin et al. 2017). For example, degree constraints for the customer nodes, degree constraints for the depot, connectivity and capacity constraints, precedence constraints, minimum total demand, and feasible routes.

Transshipment operation is another approach for the transportation of goods. The classical transshipment problem is introduced by Orden (1956), where besides origins and destinations, a set of additional intermediate vertices corresponding to transshipment centers/facilities are existed. In transshipment problem, transportation of goods can either transport directly from a given origin to a specific destination or through an intermediate facilities (Zäpfel and Wasner 2002; Lapierre et al. 2004; Berman and Wang 2006; Musa et al. 2010; Üster and Agrahari 2010). The transshipment problem allows only shipments that go directly from a supply point to a demand point (Winston 1994), which determines an optimal shipping plan from origins to destinations so as to minimize the total transportation cost, inventory and storage cost. The transshipment problem models the flows of a single commodity or multi-commodity over a transshipment network; the commodities are differentiated by their physical characteristics. Transshipment problem with multiple origins and time window structures for single commodity or multiple commodities are considered in the literature (Wieberneit 2008; SteadieSeifi et al. 2014; Guastaroba and Speranza 2016). Lim et al. (2005) studied a transshipment problem with multiple facilities where a hard time window is associated with each origin and destination. Shipping schedules with travel cost and capacity are considered in their study, and each intermediate facility in the transshipment network has a maximum inventory holding capacity and an associated storage cost. Chen et al. (2006) studied a multi-commodity transshipment problem where hard time windows are associated with origins and destinations, and considered the storage capacity and cost. Marjani et al. (2012) extended Chen et al. (2006)’s study by allowing shipments between transshipment centers, initial and final inventories can be the intermediate facilities, and time windows can be violated. Similarly, Miao et al. (2012) studied a transshipment problem with preferred service and hard time windows; penalty is incurred if the destination is not visited within the preferred service time window.

For the vehicle routing and transshipment studies or their extensions in the literature, they address specific variants of the problem. The definition and analysis of some common variants that capture the main features is an important research direction. Possible examples are MDVRP/VRPB variants with time windows, VRPB with heterogeneities in network, intermediates vertices in transshipment, multiple supply sources, flexibility delivery. Therefore, this study introduces a model to generalize the classical transportation model; it is a formalism embedding to existing concepts. The model includes multiple supply nodes, multiple products in logistics routes, options for merging logistics routes, and options for grouping of products; certain routes and products can be combined and it takes into account earliness/tardiness in delivery based on user preferences. This study thus contributes to the modeling and optimization of logistics routings, following the time windows approaches. The study contributes to the literature in four ways. First, the logistics network is modeled as a network with heterogeneous nodes, \( G\left( {S,D,E} \right) \), where S is a set of nodes with supply features, D is a set of nodes with demand features, and E is a set of connections indicating the linkages between the nodes. The nodes in the network are considered to have distinct operating features, such that the sources of supply and demand are both taken into account within a specified service time. Second, the proposed approach considers multiple supply routes for a source of demand. In other words, items can be delivered from multiple supply sources via different routes to a demand source, enhancing the efficiency of the logistics routings and customer satisfaction. Third, the delivery path is not fixed, a pair of supply and demand nodes can be varied in different delivery scenarios. Here, logistics routes are designed with their relevant service times for various scenarios of different capacities of the supply sources and volumes of the demand sources. Fourth, this study provides an alternative approach to solve logistics problem. Fifth, the proposed approach is applied to a case study to illustrate the effectiveness of the model. Unlike the MDVRP-TW or VRPB approach that considers the relationships between depots and customers in clusters, the proposed approach applies the supply and demand nodes concept to link the relationships between the supply sources and the demand sources. In the MDVRP-TW or VRPB, the approach determines the logistics routes for several vehicles from multiple depots to a set of customers (Kaur 2013; Koç and Laporte 2018); the nature of nodes are depots and customers only. In contrary, this study considers the supply capability of a supply node to fulfill demands from demand nodes; the nature of a supply node is manufacturers/distribution centers/depots and the nature of a demand node is intermediated depots/customers. In addition, the supply nodes may have the features of VRPB that some depots may receive demand from other depots; however, the supply from a supply node to a demand node is without cluster boundary as in MDVRP-TW or VRPB.

The remainder of the paper proceeds as follows. In Sect. 2, the background of the logistics routings problem is described. The modeling approach used to optimize the logistics routings is discussed in Sect. 3, and an industrial case study is presented in Sect. 4. Finally, Sect. 5 concludes the paper.

2 Problem description

The general logistics problem considered in this study includes manufacturers/distribution centers (MDCs) and customers. MDCs encompass all activities in fulfilling customer demand, and these activities are associated with the flow and transformation of goods from raw materials. In real-world situations, most manufacturers are integrated with their distribution centers, where some processing or assembly takes place at the distribution centers rather than at the manufacturer. Thus, the roles of manufacturers and distribution centers are interchangeable in modern supply chain management. Therefore, the two roles are integrated as an MDC that supports and fulfills a customer demand point (CDP). Thus, the MDC processes or assembles items or semi-products into final products to fulfill the demand of the CDP. Items can be supplied from multiple MDCs to multiple designated CDPs. Therefore, from a network perspective, the logistics network is represented as a graph \( G\left( {S,D,E} \right) \), where \( S \) is a set of nodes with supply features (i.e., MDCs), \( D \) is a set of nodes with demand features (i.e., CDPs), and \( E \) is a set of connections indicating the linkages between the nodes. The relationship between the MDCs and CDPs is illustrated in Fig. 1, where an MDC acts as a supply entity and a CDP acts as a demand entity.

Fig. 1
figure 1

The relationship between MDCs and CDPs (demand/intermediate)

In general, the process in supply chain logistics is initiated by a customer order. The order triggers corresponding actions in the MDC, such as determining the cost of the item and the required bill of materials, transport cost, service time, and so on. After completing the order according to the customer’s specification, the MDC sends the items/final products to the CDP according to some designed logistics route. Therefore, it is assumed that the role of MDCs are identical in fulfilling customer orders, grouping items, and taking responsibility for transporting the items to the CDPs. The logistics routes start at a designated MDC and items may be transported via various CDPs on the route before reach a designated CDP, the logistics route then return back to a supply node/a depot after ending its work. Costs and time are the two major factors considered for the logistics routes in this study. The costs refer to logistics costs such as transport costs from the MDC to the CDP, or from multiple MDCs to multiple CDPs. A virtual cost is also included, which is the minimal cost for the logistics fleet to travel from the ending demand point to any supply/depot point. Time refers to, for example, the time taken to transport an item from an MDC to a CDP (or between multiple MDCs and CDPs). The overall logistics cost is influenced by the locations and numbers of intermediate CDPs, supply or demand capacity, number of routes available from an MDC to a CDP within a specified service time, and the number of routes for the logistics fleet to return from a CDP to an MDC. Thus, the overall logistics cost is assumed to be composed of the transport cost, any penalties imposed for early or late delivery, and a virtual cost for the logistics fleet to return to any supply/depot point after ending its work.

3 Determining the logistics routings

The logistics routings are determined from a network perspective, and the objective is to minimize the overall logistics cost. The following parameters and decision variables are used to determine the logistics routes.

Model parameters

\( S \)

A set of supply nodes (i.e., MDC)

\( D \)

A set of demand nodes (i.e., CDP)

\( s_{i}^{k} ,i = 1,2, \ldots ,n_{i} \)

The supply of node \( n_{i} \in S \) for item \( k = 1,2, \ldots ,n_{k} \)

\( d_{j}^{k} ,i = 1,2, \ldots ,n_{j} \)

The demand of node \( n_{j} \in D \) for item \( k = 1,2, \ldots ,n_{k} \)

\( R_{ij} \)

A set of routes between a designated starting supply node and a designated ending demand node

\( r_{ij} \)

A route between a designated starting supply node \( i \) and a designated ending demand node \( j \), \( r_{ij} \in R_{ij} \)

\( E_{ij} \)

A set of connections indicating the linkages between nodes

\( e_{ij} \)

A connection between a pair of \( i \) and \( j \) nodes, \( e_{ij} \in E_{ij} \)

\( C_{ij} \)

The transport cost between a pair of \( i \) and \( j \) nodes, \( e_{ij} \in E_{ij} \)

\( T_{ij} \)

The transport time between a pair of \( i \) and \( j \) nodes, \( e_{ij} \in E_{ij} \)

\( I_{i} \) or \( I_{j} \)

The idle time in a node,\( i \) or \( j \)

\( X \)

A set of items (semi-product/product)

\( \alpha_{t} \)

The predefined earliest time to serve a demand node \( t \)

\( \beta_{t} \)

The predefined latest time to serve a demand node \( t \)

\( \alpha_{t}^{'} \)

The user defined earliest time to serve a demand node \( t \)

\( \beta_{t}^{'} \)

The user defined latest time to serve a demand node \( t \)

\( P_{\alpha } \)

The unit time earliness penalty cost to a demand node \( t \)

\( P_{\beta } \)

The unit time tardiness penalty to a demand node \( t \)

3.1 Modeling the nodes in logistics routings

Cost and time are considered in the logistics routings in this study. A logistics route starts at a supply source (MDC), and then may pass through one or more CDPs before reaching the final designated CDP that placed the original order. The supply source MDC and the designated CDP are regarded as the original node and the final node, respectively. All other CDPs located between the original and the final node are regarded as intermediate nodes on the route.

In defining the original supply node (i.e., the starting node), the node should have neither a preceding node nor a preceding connection to another node in the logistics routing (i.e., the number of preceding node \( \left| {n_{i - 1} } \right| = 0 \) and the number of preceding connection \( \left| {e_{i - 1,i} } \right| = 0 \)). Similarly, the designated demand node (i.e., the final node) should have neither a succeeding node nor a succeeding connection to another node in the logistics routing (i.e., the number of succeeding node \( \left| {n_{j + 1} } \right| = 0 \) and the number succeeding connection \( \left| {e_{j + 1,j} } \right| = 0 \)). In addition, according to Wang and Ip (2009), the demand of a node can be supplied by different methods. Thus, in modeling the connection \( e_{ij} \) between the nodes, different supply and demand connection types are considered: the supply from serially connected node(s) (Figs. 2 and/or 3), supply from multiple nodes connected in parallel (Fig. 4), and supply from multiple nodes connected in serial or parallel (Fig. 5).

Fig. 2
figure 2

Supply from a serially connected node

Fig. 3
figure 3

Supply from an intermediate serially connected node

Fig. 4
figure 4

Supply from multiple parallel nodes

Fig. 5
figure 5

Supply from multiple nodes connected in serial or parallel

The first connection type (serially connected node(s)) is modeled as a connection between two nodes where one node serves as a supply node and the other serves as a demand node (Fig. 2). In this type of connection, the demand of a demand node is fulfilled by a single source of supply from a supply node. However, some intermediate serially connected nodes may exist between the supply and demand nodes in the logistics routing (Fig. 3), such that the number of connections is greater than one (i.e., \( \left| {e_{ij} } \right| \ge 1 \)). These intermediate nodes might be supply or demand nodes, but their supply or demand availability is assumed to be zero because they serve as transitional nodes here, and are not the origin of either the supply r the demand in the logistics routing.

The second connection type (multiple nodes connected in parallel) is modeled as a connection where some intermediate parallel-connected nodes exist between the supply and demand nodes in the logistics routing (Fig. 4). In this type of connection, different alternative paths exist between the supply and demand nodes, such that the supply from node \( n_{i} \) has different ways of reaching the demand node \( n_{j} \). The supply or demand availability of the intermediate nodes is again assumed to be zero, and only the capacity of the intermediate nodes is considered in determining a logistics routing.

The third connection type of supply from multiple nodes connected in serial or parallel is modeled as multiple nodes that serve as supply nodes to a single demand node. Some intermediate nodes may exist between the supply and demand nodes in the network (connected in serial or parallel). In this type of connection, the demand from the demand node is fulfilled by multiple supply nodes with different supply availabilities (Fig. 5). Because there are multiple supply nodes and their connections to the demand node can be serial or parallel, the supply capacities of all relevant supply nodes are considered when determining a logistics routing.

With regard to the transport cost \( C_{ij} \) of a logistics routing, it is assumed that the notations of transporting an item \( x \) from a supply node to an intermediate node is the same as that from an intermediate node to another intermediate node/designated demand node. Similarly, the same notation is used for the transport time of item \( x \) from a supply node to an intermediate node or from an intermediate node to another intermediate node/designated demand node, namely, \( T_{ij} \). However, the nature of the nodes differs according to the source of supply or demand (i.e., MDC or CDP). The conceptual relationships among transport costs, transport time, and logistics routings are illustrated in Fig. 6.

Fig. 6
figure 6

The conceptual relationship among transport costs, transportation time, logistics routing

In logistics routings, a possible route \( r_{ij} \) is a route that transports an item \( x \) from a supply source of an MDC to its designated CDP. However, the item may transported via several CDPs as intermediate nodes. Thus, it is a two-float decision on whether to transport item \( x \) via the logistics route \( r_{ij} \) from a supply node \( n_{i} \), \( r_{ij} \in R \), that is,

$$ r_{ij} = \left\{ {\begin{array}{*{20}l} {1,} \hfill & {\quad {\text{for}} \;{\text{transporting}}\; {\text{item}}\; x\; {\text{from }}\;{\text{a}}\;{\text{supply }}\;{\text{node }}\;n_{i}\, via\, r_{ij} , \quad r_{ij} \in R} \hfill \\ {0,} \hfill & { \quad {\text{otherwise}}} \hfill \\ \end{array} } \right.. $$
(1)

In determining a logistics routing, the transportation of item \( x \) begins at a supply source of an MDC. The item then travels from the MDC to the CDP with transport time \( T_{ij} \), where a certain amount of idle time \( I_{i} \) or \( I_{j} \) is required to process the item at node \( n_{i} \) or node \( n_{j} \). This processing may include loading and unloading or checking and confirming the status of the item, and so on. Therefore, the actual beginning time (\( BT \)) for the logistics routing is defined as:

$$ BT\left( x \right) = \mathop \sum \limits_{i = 1}^{s} \mathop \sum \limits_{j = 1}^{d} T_{ij} r_{ij} + \mathop \sum \limits_{i = 1}^{s} \mathop \sum \limits_{j = 1}^{d} I_{i} r_{ij} , $$
(2)

In addition, a penalty function (\( PF \)) is defined as.

$$ PF\left( x \right) = \left\{ {\begin{array}{*{20}l} {\infty ,} \hfill & {\quad for\quad BT \le \alpha_{t}^{'} } \hfill \\ {PC_{\alpha } \left( {\alpha_{t} - BT} \right),} \hfill & {\quad for\quad \alpha_{t}^{'} \le BT < \alpha_{t} } \hfill \\ {0,} \hfill & {\quad for\quad \alpha_{t} \le BT \le \beta_{t} } \hfill \\ {PC_{\beta } \left( {BT - \beta_{t}^{'} } \right),} \hfill & {\quad for\quad \beta_{t} < BT \le \beta_{t}^{'} } \hfill \\ {\infty ,} \hfill & {\quad for\quad \beta_{t}^{'} < BT} \hfill \\ \end{array} } \right. $$
(3)

In deliver items to customer, \( \alpha_{t} \) and \( \beta_{t} \) are the predefined service period while \( \alpha_{t}^{'} \) and \( \beta_{t}^{'} \) are the maximum service period with penalty costs for a logistics routing (i.e., within \( \alpha_{t}^{'} \leftrightarrow \alpha_{t} \) and \( \beta_{t} \leftrightarrow \beta_{t}^{'} \)). No penalty is imposed if the items reach the final designated CDP within the predefined service time, that is, between \( \alpha_{t} \) and \( \beta_{t} \). However, a penalty may be incurred if the predefined period is violated. Therefore, a penalty cost of \( PC_{\alpha } \) or \( PC_{\beta } \) will be charged if the items reach the final designated CDP earlier or later, respectively, than the predefined service time. The relaxations are within the user-defined periods; otherwise, the relaxations are infinite if beyond the user-defined periods. An illustration of the timeline boundary for logistics routings is illustrated in Fig. 7.

Fig. 7
figure 7

Timeline boundary for logistics routings

In determining a logistics routing, the objective is to minimize the overall logistics cost with respect to the logistics route for the items. Therefore, the approach contains three major parts related to minimizing the overall logistics cost: minimize the transport cost between the MDCs and CDPs; minimize the penalty cost for early delivery; and minimize the penalty cost for tardiness. Therefore, the optimization model is formulated as follows:

$$ \hbox{min} \left\{ {\mathop \sum \limits_{i = 1}^{s} \mathop \sum \limits_{j = 1}^{d} C_{ij} r_{ij} + PC_{\alpha } \hbox{max} \left( {0,\alpha_{t} - BT} \right) + PC_{\beta } \hbox{max} \left( {0,BT - \beta_{t} } \right)} \right\} $$
(4)
$$ {\text{Subject to}}:\quad \sum\limits_{i = 1} {\sum\limits_{j = 1} {r_{ij} \ge 1,} } \quad {\text{for}}\;\; \forall i \in S, \;\forall j \in D,\; \forall x \in X $$
(5)
$$ r_{ij} \in \left\{ {0,1} \right\}, \quad {\text{for}}\;\; \forall i \in S, \;\forall j \in D, \;\forall x \in X $$
(6)
$$ s_{i} = d_{j} \ge 0,\quad {\text{for}}\;\; \forall i \in S, \forall j \in D $$
(7)
$$ \alpha_{t}^{'} \le BT < \alpha_{t} ,\quad {\text{for}}\;\; \forall t \in T $$
(8)
$$ \beta_{t} < BT \le \beta_{t}^{'} ,\quad {\text{for}}\;\; \forall t \in T $$
(9)
$$ \alpha_{t} , \alpha_{t}^{'} , \beta_{t} , \beta_{t}^{'} \ge 0,\quad {\text{for}}\;\; \forall t \in T $$
(10)

To calculate the overall logistics cost for transporting item \( x \), the costs are aggregated according to the unit transport cost between nodes, that is, the cost of transporting the item from a supply node to an intermediate node, the cost of transporting the item among intermediate nodes, the cost of transporting the item from an intermediate node to the designated demand node, and a virtual cost for the logistics fleet to return to any supply/depot point after ending its work. Additionally, different items can be grouped and transported through some intermediate nodes to the final designated demand nodes, so the transport cost between a pair of nodes is considered. For the service time, it is assumed that the penalty costs for earliness and tardiness can satisfy the customer requirements without having a negative impact on the overall logistics cost. The penalty cost for earliness/tardiness is based on the unit time per unit volume for which the item is earlier/later than the predefined time required for transportation to the designated CDP. The \( PF\left( x \right) \) and the timeline shown in Fig. 7 show that when delivery occurs earlier than the predefined time for serving the customer \( (\alpha^{'} \le BT < \alpha ) \), the value of \( \left( {\alpha - BT} \right) \) is positive and greater than zero. Then, the penalty cost for earliness depends on the unit time for earliness. On the other hand, when delivery occurs later than the predefined time for serving the customer \( (\beta < BT \le \beta^{'} ) \), the value of \( \left( {BT - \beta } \right) \) is positive and greater than zero. Then, the penalty cost for tardiness depends on the unit time for tardiness. The constraint \( \sum\nolimits_{i = 1} {\sum\nolimits_{j = 1} {r_{ij} \ge 1,} } \quad {\text{for}} \forall i \in S, \;\forall j \in D \) ensures that the demand of a node can be served by at least one supply node in a route. The constraint \( r_{ij} \in \left\{ {0,1} \right\},\quad {\text{for}}\;\; \forall i \in S, \forall j \in D \) defines the binary decision variable on whether to transport the item on a particular route. The variable takes the value zero for a null/negative decision and one for a positive decision. The constraint \( s_{i} = d_{j} \ge 0,\quad {\text{or}}\;\; \forall i \in S, \forall j \in D \) ensures that the supply of items from a node is equal to the demand of the items in the next node, which means all customer demand in the CDPs is fulfilled. This constraint also defines the non-negative integer variables. The constraints \( \alpha_{t}^{'} \le BT < \alpha_{t} ,\quad {\text{for}}\;\; \forall t \in T \) and \( \beta_{t} < BT \le \beta_{t}^{'} ,\quad {\text{for}}\;\; \forall t \in T \) define the earliness and tardiness, respectively, of the logistics routings, and ensure that the respective penalty costs apply to a delivery times in the correct periods. The constraints \( \alpha_{t} , \alpha_{t}^{'} , \beta_{t} , \beta_{t}^{'} \ge 0,\quad {\text{for}}\;\; \forall t \in \) defines the non-negative integer variables.

4 An industrial case study

The proposed modeling approach is applied to solve a logistics routing problem of a company and its supply chain. The company is a leader in a large-scale retail business that have an independently developed and wide-ranging product lineup; high-quality products that are recognized worldwide. This case study considers the company’s five factories located in Asia that manufacture products using a make-to-order approach. Thus, all supply chain logistics processes are induced by a customer order. Customer can place orders at one of the factories. The factory then evaluates the order and determines whether it has the capacity to fulfill the order. If the factory does not have sufficient capacity to do so, the order is passed to one of the other four factories. If the order is accepted by a factory, it orders the necessary materials or semi-products from its suppliers, and then manufactures the products according to the customer’s specifications. Once the products finish the assembly or production processes, the final product is transported to the customer directly from the factory by its own logistics fleet. The simplified business process flow of the company, including its suppliers and customers, is illustrated in Fig. 8.

Fig. 8
figure 8

The simplified business process flow in the case studied company

The company is both a manufacturer and a distributor in the supply chain, which means it produces final products for customers and transports these products to the customers. Therefore, when determining logistics routings, the company’s factories are represented as MDCs and customers are represented as CDPs. It is assumed that the five factories are identical, differing only in terms of their locations in order to achieve economies of scale. In terms of the general practices of the company and its factories, the transportation time is predefined in the MDCs, such that the items of an order are transported from the source MDC to the final designated CDP immediately, according to the service time before the logistics delivery. This practice seems good from a business perspective in that the company can serve its customers as soon as possible. However, it usually results in extremely high overall transportation costs because it is costly to use the maximum capacity of the logistics fleet to fulfill orders. In addition, the transportation service times are not flexible enough to allow customers to choose their own times or schedules to receive items from MDCs. Thus, a high logistics cost is a major problem arising from the current practice.

4.1 Data for the logistics routings

The data used to determine the logistics routings are extracted from the company’s database. Historical data are chosen because they are the de facto data without any external treatment. The data cover 3-month periods, because this is the period in which most of the orders/jobs are completed, and include the number of customer orders, demand quantity, supply cost, and item types. The performance reports of the company in the studied period are also extracted from the company’s database to enable us to compare these with the results of using the proposed modeling approach. The case study includes 18 CDPs in the studied period, with the relevant data extracted from the database. The network structure between the 18 CDPs and the five MDCs is illustrated in Fig. 9. Five CDPs are mainly associated with MDC1, four CDPs are mainly associated with MDC2, and three CDPs are mainly associated with each of MDC3, MDC4, and MDC5.

Fig. 9
figure 9

The network structure between the 18 CDPs and the five MDCs in the case study

In manipulating the extracted data, the transport cost of an item from an MDC to a CDP is based on the number of items being transported, each with its own unit transport cost. The numbers of items transported are determined by counting the number of completed customer orders in the database. The unit transport cost is predefined in the company’s management system for financial calculations, and includes relevant costs such as export/import tax payments, depot handling costs, and so on. Therefore, the unit transport costs are extracted from the database directly. The MDC supply volume is equal to the maximum volume of items from MDCs to CDPs in a round, and is extracted based on the “customer order completed” field in the database. Similarly, the CDP demand volume is determined by extracting the number of customer orders received in the “customer order received” field and the corresponding number of items requested.

In determining the travel time, it is assumed that MDCs send items to CDPs only after the items have finished the assembly or production processes. Thus, the starting time for transportation is the date/time that the items are loaded onto the logistics fleet. Similarly, the ending time for the transportation between the source MDC and the CDP is the date/time that the items are unloaded at the CDP. Customers digitally sign a mobile device connected to the central management system to confirm they have received the items, which updates the “customer order completed” field in the database. When transporting items via several intermediates, the transport times are determined in a similar way, except that the starting time for the next CDP transport route is the ending time of the previous CDP route. An example of the date/time format transformation for three grouped customer orders (C0001, C0002, and C0003) with traveling routes MDC–CDP1(C0001)–CDP2(C0002)–CDP3(C0003) is illustrated in Table 1.

Table 1 An example of the date/time format transformation

Currently, full payment or a 70% deposit is required in advance from the customer when purchasing items from the company. Therefore, as discussed with the project manager of the company, the penalty costs for earliness and tardiness are set to 0.03% of the deposit, which amounts to about USD 25.2 unit cost per time per unit of volume. In addition, the extracted data show that the total customer demand for MDC1, MDC2, MDC3, MDC4, and MDC5 are 3710, 3733, 3757, 3708, and 3743 units, respectively. The customer demand and service times for each CDP in the studied period are summarized in Table 2.

Table 2 The customer demand and service times for each CDP

4.2 Optimizing the logistics routings

The logistics routings involve numerous routes between MDCs and CDPs. In general, this is a combinatorial optimization problem in grouping and routing the items/final products from the MDCs to the CDPs, where a route may include several CDPs as intermediate nodes. In addition, a penalty function is included to determine the penalty costs for earliness and tardiness (i.e., within \( \alpha_{t}^{'} \leftrightarrow \alpha_{t} \) and \( \beta_{t} \leftrightarrow \beta_{t}^{'} \)). Thus, the problem is basically an NP-hard problem with a polynomial-time algorithm, which means the solution time and complexity grow exponentially as the problem size increases. The computational results for the case study are obtained using genetic algorithm and compare these results to the exact solutions on the values of the objective functions proposed in this study. The genetic algorithm was coded in C, compiled using Microsoft visual C ++ complier, and tested on a 3.60 GHz i7 computer. For obtaining the exact solutions, AMPL Plus with CPLEX solver was used in the same computer. Table 3 shows the solution values for genetic algorithm and exact solution. The corresponding optimized logistics routes are presented in Fig. 10a–c.

Table 3 Comparison of the results of the logistics routings
Fig. 10
figure 10

a The logistics routes for the case study in Period I. b The logistics routes for the case study in Period II. c The logistics routes for the case study in Period III

In genetic algorithm, the parameter setting for crossover probability is 0.9; crossover type is one-point crossover; chromosome mutation probability is 0.1; random selection probability is 0.1; and the termination condition is the best fitness unchanged after 500 generation. In the optimized result of unit cost, the genetic algorithm and exact solution results are the same, and the logistics routings are identical in both genetic algorithm and exact solution. However, the required computation time is very different between genetic algorithm and exact solution; the exact solution approach required about 60 times as much time as the genetic algorithm approach for the problems. In the case study, the number of supply nodes is five and the number of demand nodes is 18; it is a type of mid-size problem. In mid-size problem, genetic algorithm solutions and exact solutions can be obtained; however, it is difficult to obtain exact solutions as the number of nodes further increases. It is thus clear that the genetic algorithm produces results within a very short computation times.

Owing to a restriction of the company’s management system, the monthly logistics costs with remarks can only be extracted (e.g., whether deliveries were delayed). Thus, a detailed cost breakdown for each transportation step and the penalty costs for earliness or tardiness are not available. The comparison in Table 3 shows that the optimized results can fulfill all customer orders in the studied period. In addition, the proposed model has a positive treatment effect in terms of minimizing the overall logistics costs and providing routes that satisfy the customer demand without having a negative effect on the overall logistics costs or causing significant delays. Furthermore, the financial records of the company’s management system show that the 18 CDPs are major customers whose orders account for approximately 57% of the annual revenue. The results show that adopting the proposed logistics routings approach would reduce the logistics costs by about 40%, thus increasing the revenue of the company.

5 Conclusion

This study introduces a modeling approach to generalize the classical transportation model. This study considers a logistics network with heterogeneous nodes of distinct operating features—supply and demand. The network is modeled as \( G\left( {S,D,E} \right) \), where \( S \) denotes the supply sources, \( D \) denotes the demand sources, and \( E \) represents the connections between the two. Also, the model is a formalism embedding to existing concepts that include multiple supply nodes, multiple products in logistics routes, options for merging logistics routes, and options for grouping of products. The objective of the logistics routing in this study is to minimize the overall logistics costs by optimizing the routes for item delivery; certain routes and products can be combined and it takes into account earliness/tardiness in delivery based on user preferences. In this study, a logistics route starts at a supply source of manufacturer/distribution center (MDC), and then may pass through one or more customer demand points (CDP) before reaching the final designated CDP that placed the original order; intermediate node(s) exists between the supply source and the final designated demand point. Cost and time are considered in the logistics routings in this study. The modeling approach is based on variables for transport costs between MDCs and CDPs, time windows for delivery, penalty costs for earliness, and penalty costs for tardiness. The model is also applied in an industrial case study. The computational results indicate that the modelling approach minimizes the overall logistics costs and can fulfill all customer orders. The proposed routes between MDCs and CDPs are effective in satisfying the demand in designated CDPs. The proposed modeling approach contributes to our knowledge of alternative models for logistics problems, and so provides meaningful results for academics and industry practitioners.

This study applies the supply and demand nodes concept to link the relationships between the supply sources and the demand sources, so the approach is mainly focused on node-to-node relationship. In order to make the proposed modeling approach to be more mature in generalize the classical transportation model, next step in this study will involve modeling the logistics route from an integrated node-to-link and/or link-to-node relationship and other types of heterogeneous nodes in logistics network, so breakdown cost for individual items can be revealed in a logistics route. Further work will also investigate the actual cost for the logistics fleet to return to any supply/depot point after ending its work, and it is worth to consider minimizing the traveling cost from the ending demand point to any supply or to a depot point. Additional industrial case studies will also be conducted to further validate the formalism of the model to an existing transportation concept.