Next Article in Journal
An Optimization Problem of Distributed Permutation Flowshop Scheduling with an Order Acceptance Strategy in Heterogeneous Factories
Previous Article in Journal
A New Hjorth Distribution in Its Discrete Version
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Column-Generation-Based Exact Algorithm to Solve the Full-Truckload Vehicle-Routing Problem

Department of Industrial Engineering, Faculty of Engineering, Cukurova University, Saricam 01330, Adana, Turkey
*
Author to whom correspondence should be addressed.
Mathematics 2025, 13(5), 876; https://doi.org/10.3390/math13050876
Submission received: 5 February 2025 / Revised: 21 February 2025 / Accepted: 25 February 2025 / Published: 6 March 2025

Abstract

:
This study addresses a specialized variant of the full-truckload delivery problem inspired by a Turkish logistics firm that operates in the liquid transportation sector. An exact algorithm is proposed for the relevant problem, to which no exact approach has been applied before. Multiple customer and trailer types, as well as washing operations, are introduced simultaneously during the exact solution process, bringing new aspects to the exact algorithm approach among full-truckload systems in the literature. The objective is to minimize transportation costs while addressing constraints related to multiple time windows, trailer types, customer types, product types, a heterogeneous fleet with limited capacity, multiple departure points, and various actions such as loading, unloading, and washing. Additionally, the elimination or reduction of waiting times is provided along transportation routes. In order to achieve optimal solutions, an exact algorithm based on the column generation method is proposed. A route-based insertion algorithm is also employed for initial routes/columns. Regarding the acquisition of integral solutions in the exact algorithm, both dynamic and static sets of valid inequalities are incorporated. A label-setting algorithm is used to generate columns within the exact algorithm by being accelerated through bi-directional search, ng-route relaxation, subproblem selection, and heuristic column generation. Due to the problem-dependent structure of the column generation method and acceleration techniques, a tailored version of them is included in the solution process. Performance analysis, which was conducted using artificial input sets based on the real-life operations of the logistics firm, demonstrates that optimality gaps of less than 1% can be attained within reasonable times even for large-scale instances relevant to the industry, such as 120 customers, 8 product and 8 trailer types, 4 daily time windows, and 40 departure points.

1. Introduction

In today’s world, people and organizations are living in vast interconnected networks and the importance of transportation within these networks is growing dramatically. Vehicle-routing problems (VRP) constitute a significant proportion of these network challenges due to their critical role in the logistics sector. Insufficient fleet management or inaccurate calculations may culminate in substantial financial losses and impinge on many organizations within the supply chain. Therefore, sustainable and efficient transportation systems have become essential in the modern era.
The liquid transportation company that has inspired our problem has the largest fleet among Turkish logistics companies with 600 trucks. Due to the high volume of customer demands, consisting of contracted and non-contracted ones, they deploy both owned and rented trucks to meet service needs. In short, their operations consistently involve large-scale instances. The company endeavors to cover a wide variety of demands having a higher number of product types compared to its competitors in the sector. Thus, a diverse range of trailer types is utilized to manage these distinct product categories at the same time. However, frequent washing operations are also required to avoid contamination. Due to the fact that their operations impose an enormous number of decisions posing great difficulties for the company, a problem-specific exact algorithm is imperative.
Given the complexity of logistics operations, the VRP encompasses numerous variants (see Konstantakopoulos et al. [1] for an extensive review), necessitating the development and implementation of problem-specific solutions. One variant of the VRP is full-truckload (FTL) operations, in which large shipments require the full capacity of a truck. Currently, FTL operations may involve the transportation of containers from ports to production facilities, the delivery of cement to construction sites, debris removal from construction sites or mining sites, and liquid transportation. Furthermore, the application of FTL principles can be examined in the healthcare sector. For instance, an ambulance fleet departing from multiple locations may need to pick up patients at specific points and transport them to hospitals, minimizing the total time spent by vehicles rather than transportation costs due to the urgency of the situation.
This study addresses a specialized FTL problem inspired by the operations of a prominent Turkish logistics firm that engages in liquid transportation with 600 trucks. In many of their activities, a network is involved where a limited number of rented and owned vehicles remain idle at multiple departure points and are ready to return to the garage by being equipped with various types of trailers. Simultaneously, these vehicles may be assigned to transport products from supply points (loading zones) to customer locations (unloading zones), and designated vehicles serving customer locations must return to the terminal/garage point after completing their routes. Vehicles must adhere to time window constraints specified for those zones. Furthermore, in order to accommodate the transportation of different product types, vehicles are entailed to visit washing centers to clean their trailers, ensuring readiness for the next load. During the switch between two product types, the washing process must be performed according to the washing matrix, which outlines the required washing times. Vehicles also transport products in trailers that conform to a trailer–product matrix specifying which product types are compatible with which trailer types. In the logistics market, orders originating from contracted customers are mandatory and must be prioritized while optional orders from non-contracted customers arise occasionally. Thus, the primary objective is to optimize routing for the current fleet by minimizing overall transportation costs and eliminating or reducing waiting times at visited nodes.
The incorporation of multiple time windows, departure nodes, diverse customer types, a heterogeneous fleet, and washing operations significantly increases the number of decision variables for logistics firms. These factors considerably contribute to route complexity or route combination, making the optimal vehicle decisions exceedingly challenging. Suboptimal decisions among those combinations may lead to high fixed or variable costs of vehicles and unsatisfied customers. Thus, a logistics firm may experience a massive loss of profits, market shares, and demands, being deprived of competitiveness against its rivals.
Due to the significant complexity of VRP, numerous heuristic algorithms, such as genetic algorithms (Holland [2]), ant colony algorithms (Dorigo et al. [3]), large neighborhood search algorithms, and tabu search algorithms (Glover [4]), are widely used to generate initial solutions and improve them accordingly. However, these algorithms were not designed to guarantee optimality. Instead, they just provide upper-bound solutions.
Exact algorithms are used in VRP less frequently than heuristic methods. Their application to FTL problems is even more uncommon since the FTL variant has been studied less extensively within the VRP domain. In this study, both exact algorithm structures and heuristic methods are integrated to address the specified FTL problem. A modified route-based insertion heuristic (Solomon [5]) is utilized to generate initial routes/columns providing a starting point for an exact algorithm based on the column generation (CG) method inspired by Dantzig and Wolfe [6].
In order to enhance the exact algorithm, valid inequalities, such as arc flow inequalities (Costa, Contardo, and Desaulniers [7]) and k-path inequalities (Desaulniers, Lessard, and Hadjar [8]), are incorporated. These inequalities strengthen the CG algorithm by generating promising routes through the use of diverse dual variables. Additionally, four acceleration techniques are deployed to expedite the process. The first acceleration technique, introduced by Righini and Salani [9], employs a bi-directional search within the label-setting algorithm to accelerate the solution of the elementary shortest path problem with resource constraints (ESPPRCs). The second technique uses ng-route relaxation, developed by Baldacci, Mingozzi, and Roberti [10], allowing the inclusion of non-elementary paths alongside elementary ones in the relaxed -master problem (RMP) of the CG algorithm. The third technique focuses on subproblem selection to prioritize the identification of subproblems that are likely to contain promising columns/routes. While it is primarily heuristic, this technique can evaluate all subproblems when necessary. The final technique involves a heuristic column generator inspired by Desaulniers et al. [8], which identifies the first promising column encountered within the given subproblem. When it is required, this approach can also systematically evaluate all possible routes to ensure comprehensive exploration.
To sum up, a relevant FTL transportation network structure that has been widely encountered in the logistics market was analyzed by considering the important aspects of VRP in both literature and real life. Therefore, our contributions can be expressed as follows:
  • This study addresses various characteristics simultaneously, such as multiple time windows, departure points, product types, trailer types, a heterogeneous fleet, and a limited number of vehicles at each departure point within the FTL network, distinguishing itself from other studies in the literature.
  • This study uniquely incorporates washing operations for trailers to facilitate product changeovers during liquid transportation. Additionally, it integrates washing costs and washing times within the FTL network.
  • The integration of the CG method, designed to solve the problem exactly, was uniquely implemented in this study, taking the distinctive aspects of the problem into account. For instance, the label-setting algorithm used for CG was specifically adapted to the FTL network, which is the focus of this research.
  • Acceleration techniques such as ng-route relaxation and bi-directional search mechanism were uniquely modified to align with the specific characteristics of the FTL network considered in this study.
  • The study includes a comprehensive performance analysis of the exact algorithm across a wide range of instances for the specified FTL structure.
The remainder of this paper is organized as follows: Section 2 presents a detailed literature review with a particular focus on FTL transportation systems. Section 3 introduces the problem definition, mathematical model, and network representation. Subsequently, Section 4 elaborates on the construction heuristic procedures, CG method, and the associated acceleration techniques. In Section 5, the computational performance results of the proposed exact approach are presented with respect to problem instances. Finally, Section 6 provides concluding remarks and discusses potential future research directions.

2. Literature Review

It should be noted that research on FTL systems is relatively scarce in the literature. While a limited number of studies delve into the specifics of the FTL concept, its operations are evident in many critical areas. These studies predominantly focus on problem-specific heuristic algorithms, whereas solutions based on exact algorithms remain uncommon. Recently, machine learning, deep learning, and agent-based techniques have been applied to the VRP. However, studies integrating heuristic or learning algorithms or agent-based techniques with exact algorithm enhancements are still notably underrepresented. Therefore, in our study, we aim to solve our specified FTL problem encompassing both exact and heuristic algorithms with relevant acceleration techniques.
The FTL problem was first introduced by Ball et al. [11] and aimed to find the optimal fleet size obtaining vehicle routes while satisfying maximum route-time restrictions. They managed to formulate the problem and described some approximate solution strategies discussing important implementation issues. Then, Desrosiers et al. [12] used an asymmetrical traveling salesman problem with two types of restrictions in order to present an effective approach to FTL systems.
The literature actually contains a wealth of heuristic algorithms applied to FTL problems, and researchers continue to favour these approaches due to their ease of implementation and low computational complexity. Agent-based simulations are also appealing for tackling complicated FTL operations.
Soleilhac et al. [13] studied the VRP involving both FTL and less than truck load (LTL) shipments. Their objective was to identify the optimal combination of FTL and LTL shipments to minimize transportation costs. They proposed a large neighborhood search heuristic algorithm to manage the computational complexity. Ghilas et al. [14] focused on the tendering process related to FTL transportation and used a tailored adaptive large neighborhood search to overcome the computational issues created by the problem. El Bouyahyiouy [15] investigated the selective FTL system with multi-depot and time windows. A formulation based on mixed-integer modeling was provided, and a genetic algorithm was also created for comparison. Ghorpade et al. [16] proposed an order-first split-second heuristic for an alternative routing strategy for freight railways, modeling the system according to pickup and delivery with customer-specified origin and destination and multiple FTL demands by each customer. Fadda et al. [17] analyzed port visitation with a heterogeneous fleet including vessels and small ships. While their work resembled FTL and LTL operations, they focused on maritime transport instead of trucks. A mixed-integer model with problem-specific valid inequalities was developed to achieve optimality, and a large neighborhood search heuristic was applied to solve large-scale instances efficiently. Çabuk, Selin, and Rızvan Erol [18] examined a specific problem characterized by stochastic conditions on the management of FTL operations. A dynamic optimization approach was embraced, incorporating intelligent-agent-based modeling to assign vehicles and determine their routes. Door-to-door deliveries are becoming widespread in populations. Thus, Lu et al. [19] employed a crowdsource delivery model to overcome uncertainties utilizing bounded rationality. The whale optimization algorithm was also combined with that model to design an effective heuristic.
The literature contains relatively few studies focusing on exact algorithms for FTL transportation. Most approaches employ mixed-integer linear programming (MILP) models. In order to solve large-scale instances, valid inequalities, branch and bound, or branch and cut algorithms are commonly utilized. However, CG-based methods have been applied to FTL systems less frequently.
Masmoudi et al. [20] addressed container truck transportation based on FTL operations involving a mixed-fleet heterogeneous dial-a-ride problem. They developed a MILP method to minimize transportation costs and reduce the associated environmental impact. Nasr et al. [21] studied the agri-fresh food supply chain between farmers and markets where FTL and LTL transportations can take place. A MILP model was developed for small-scale instances, while Lagrange relaxation and the genetic algorithm were used in large-scale ones. However, these two previous works did not include the CG method, which is considerably effective in large-scale instances of VRP as opposed to our work. Aickelin et al. [22] proposed a hybrid pricing and cutting approach for the multi-shift FTL VRP. They combined CG techniques with metaheuristics to achieve satisfactory solutions. However, their study lacks extremely efficient and widely used acceleration techniques, such as bi-directional search and ng-route relaxation, with respect to the CG method in VRP as opposed to our work. Baller et al. [23] studied the automotive inbound logistic problem in which transportations should be handled with LTL or FTL or express services. A scalable MILP method was deployed, bringing along problem-specific valid inequalities to find the exact solution more effectively. Bellabdaoui and El Bouyahyiouy [24] focused on the FTL-routing problem, aiming to maximize the total profit generated by trucks during their return journeys under time window constraints. They employed a genetic algorithm to identify feasible routes followed by a MILP model to determine the optimal sequence of commodities for each truck route. Melchiori, Luciana, et al. [25] studied resource synchronization in an FTL problem using an exact algorithm based on integer linear programming (ILP). Symmetry-breaking cuts and additional valid inequalities were also included to be effective in large-scale instances. Bouyahyiouy et al. [26] investigated a lexicographic approach for the robust selective FTL problem using a MILP-based algorithm under operational constraints to minimize transportation costs. These previous four studies only involve loading and unloading operations without any other actions, such as washing, while they are devoid of a significantly effective CG method and its acceleration techniques in contrast to our study.
According to the literature, our work distinguishes itself from pure heuristic-based FTL studies by having a prominent exact algorithm. Nevertheless, studies that have an exact algorithm can achieve solving at most medium-scale instances. Therefore, they always resort to heuristics when addressing the large-scale ones. Undoubtedly, there are very few FTL studies that focused on the CG method in large-scale instances efficiently. However, our FTL network structure and problem concept are notably distinct and unique, requiring a unique design and implementation of the CG method. This is due to the inherently problem-dependent nature of the CG method, which tends to vary significantly based on the specific characteristics of the problem.

3. Problem Description

3.1. Problem Definition

This study aims to provide an exact solution for an FTL delivery vehicle-scheduling problem. The problem involves multiple departure points/nodes and a single terminal point/node, multiple time window constraints, a limited number of vehicles, different types of vehicles and trailers, distinct product types, and a mix of selective (non-contracted) and non-selective (contracted) customers. Contracted customers’ demands must be fulfilled, whereas non-contracted customers’ demands may remain unmet if serving them does not contribute to a reduction in overall costs. With respect to multiple time windows of a relevant node, each represents a distinct time interval that is completely separated from other intervals of that node. If a vehicle arrives at a loading or unloading zone earlier than the specified time window, it must wait until the window opens to begin service. Conversely, if the vehicle arrives later, the visit in that time window becomes infeasible for that vehicle. Additionally, logistics companies may consolidate demands for subsequent service to achieve lower costs because incorporating multiple time windows of supply (loading zones) and customer nodes (unloading zones) increases the number of feasible route combinations for the satisfaction of customers without violating their deadlines. For instance, customers may ask to be satisfied in at most three or four days. That is why our work involves daily based multiple time windows.
In addition, FTL networks often include vehicles that have been stationed in multiple departure areas with a connected trailer after the completion of their previous routes resulting from previous orders. These idle vehicles introduce further complexity to the problem since decisions must be made regarding the departure locations. The problem also includes a limited number of vehicles categorized into two distinct types and assigned to each departure point. In FTL logistics, companies commonly rent vehicles in addition to their own fleet to alleviate costs. Nevertheless, despite the cost savings, logistics companies must maintain their owned fleet to reduce reliance on external providers. Thus, the efficient utilization of the entire fleet is a serious challenge and critical for achieving optimal costs.
Product compatibility is another vital consideration in FTL deliveries. Our work was inspired by the practices of a local logistics company that has specialized in liquid transportation. Therefore, trailers in the study are capable of transporting different types of products, requiring preparation to prevent any contamination during liquid transportation. Otherwise, contamination would decrease the quality of the product and create displeasure between the logistics firm and its customers. For this reason, washing centers are incorporated into the problem, and trailers should comply with the structure of the relevant trailer–product matrix and washing matrix. The trailer–product matrix indicates which trailers can carry which products, while the washing matrix specifies the time required to clean a trailer after unloading one product type and before loading another type. For instance, if a rented vehicle is equipped with a trailer that can transport both oil and acid, and the vehicle is scheduled to load acid after unloading oil, then that trailer must undergo a washing process to ensure adequate preparation for the new load. Furthermore, compartmentalization is mostly forbidden because of safety issues. Loaded liquid types with distinct densities tend to deteriorate the weight distribution on the vehicle, disrupting the weight–volume balance. According to road regulations, a vehicle should avoid stability issues. Additionally, some liquid types may be so hazardous that vehicles may be required to travel along different routes that do not pose a threat to the environment during accidents. Even bridge selection becomes significant during transportation. Process time of loading and unloading times for liquid products also tend to change uniquely due to liquid viscosity or pumping capacity. For instance, highly inflammable liquids are preferred to be pumped slowly to reduce the friction effect, avoiding any explosion.
Moreover, FTL deliveries always involve loading and unloading locations, corresponding to supply and demand points, respectively. In this study, demand points refer to customer points since demands are met at those points, whereas supply points represent entities that request the logistics company to transport products to their customers. Hence, unloading zones or demand points are associated with customer points, and loading zones refer to supply points throughout this work.
Lastly, the minimization of redundant waiting times is one of the significant challenges for logistic firms. For example, adjusting the departure time of a vehicle to allow it to leave the departure node later can eliminate or decrease the redundant waiting times at nodes on the potential route without affecting the overall route cost. This ensures more efficient route execution and better utilization of resources such as time.
The objective, as outlined in the problem description, is to minimize the total transportation cost while maintaining a low optimality gap within reasonable computational times and ensuring optimal routing for the relevant vehicles with reduced or eliminated waiting times at the visited nodes.
Based on the aforementioned definition, basic characteristics of the relevant FTL problem can be summarized as follows:
  • The transportation network consists of washing nodes, multiple departure nodes, a terminal/garage node, supply nodes, and demand nodes.
  • For each product type, there is one supply node and multiple demand nodes
  • There are multiple time windows for both supply nodes/loading zones and demand nodes/unloading zones
  • Vehicles have two different types; they are either rented or owned by the logistics firm
  • Certain types of trailers can be used to transport specified products
  • Whenever a trailer is required to carry a different product type, a washing process takes place, imposing washing costs and washing time
Throughout the problem and execution of algorithms that will be explained in the Methodology Section, the following are assumed:
  • Environmental factors, such as congestion or accidents, are ignored.
  • Multiple time windows are separated and limited.
  • Time windows are consecutive and daily based.
  • There is a limited number of owned and rented vehicles at each departure point.
  • Arc costs and washing costs are predetermined.
  • Certain revenues exist for the selection of a non-contracted customer.
  • Loading at supply points and unloading at customer points can only occur.
  • Trailers are identical except for their ability to carry distinct products.
  • The arc cost for a loaded vehicle is two times higher than an unloaded one.
  • A predetermined number of washing centers, supply points, customer points, and departure points are included.
  • Predetermined travel times and washing times exist.
  • The trailer–product matrix and washing matrix structures remain constant and predetermined.
  • A certain number of product types and trailer types are included.
Undoubtedly, accidents may happen and compel the logistics firm to take instant actions using real-time optimization concepts (which are irrelevant to our work) that mostly consist of agent-based modeling. However, those do not occur frequently in real life scenarios. Nevertheless, FTL-based logistics firms, which mostly need to deal with changing types of customer, do not schedule over a long time horizon due to the requirements of crucial setups. Instead, 2-, 3-, or 4-day horizons are mostly involved. Therefore, the probability of a dramatic change in the environment or factors that have a significant effect on logistics firms is rather less.
It is also important to note that each unit of time in our problem represents a thirty-minute interval. Thus, the multiple time windows are defined in alignment with the working hours at supply points and customer points, while departure points, terminal points, and washing centers are not subject to time window constraints. Travel times and processing times are also adjusted accordingly to maintain consistency with this time structure.

3.2. Mathematical Model

Our mathematical model is based on the CG framework introduced by Dantzig and Wolfe [6]. In the existing literature, MILP methods are commonly employed to solve small-scale instances of VRP(s). For medium-sized problems, branch and cut algorithms are often utilized. However, as the problem size increases, computational time escalates significantly. Consequently, CG method often outperforms MILP, branch and cut, or branch and bound algorithms in providing exact solutions for large-scale VRP instances. Moreover, the incorporation of acceleration techniques reduces complexity, enhancing the efficiency of the CG process.
The notation used for the model in this study is summarized in Table 1 as follows:
In line with the notations, the CG model was designed as follows:
m i n   o O i I o j J k K c o i j k θ o i j k  
subject to
o O i I o j J k K a o i j k q θ o i j k = 1 ,   q   C  
o O i I o j J k K a o i j k q θ o i j k 1 , q C  
k K θ o i j k   H o i j   ,   o O ,   i I o   ,   j J
o O i I o j J k K m , n     A ( U ) b o i j k m n θ o i j k 2 , U   P C  
o O i I o j J k K m , n     A ( m , n ) b o i j k m n θ o i j k 1 , m , n A C W  
o O i I o j J k K m , n     A ( m , n ) b o i j k m n θ o i j k 2 , m , n A S C  
θ o i j k   is   integer ,     o O ,   i I o   ,   j J , k K      
Function (1) is the objective to minimize transportation cost. Constraint (2) is covering the visit number of contracted customers. Due to contractual obligations, these customers are given priority, and their demands must be fulfilled. Therefore, exactly one visit is required. Additionally, in Constraint (3), non-contracted customers should be opted in accordance with the profitability case, so their visit number should be at most one. Constraint (4) imposes the limit of rented and owned vehicles at each departure point with respect to the trailer. Constraint (5) involves k-path (k = 2) inequalities (Desaulniers, Guy, François Lessard, and Ahmed Hadjar [8]). Furthermore, all subsets U P C were created such that they have no common contracted customers. Constraints (6) and (7) are arc flow constraints (Costa, Luciano, Claudio Contardo, and Guy Desaulniers [7]), while Constraint (8) enforces an integer constraint for feasible binary route variables in our FTL network. In order to avoid managing all inequalities simultaneously during the CG process, arc flow cuts were incrementally incorporated after a certain number of iterations within the CG algorithm. This approach helps generate distinct dual variables from various inequalities, aiding in identifying promising routes during subproblem solutions.
According to the VRP literature, it must be noted that k-path inequalities were designed to strengthen the RMP during the CG process, decreasing the optimal gap of the solutions. Thus, this circumstance enables us to improve the lower bound of the original problem, contributing to a decrease in the optimality gap. Desaulniers, Lessard, and Hadjar [8] clearly expressed how 2-path inequalities yield a considerably improved lower bound in CG methods. Undoubtedly, one can include 3-path, 4-path, or 5-path inequalities in the RMP as much as possible to diminish the optimal gap further. However, the addition of these large numbers of inequalities would decelerate the RMP execution. It must be recalled that the simplex algorithm takes place during the RMP iterations. In fact, according to a complexity analysis, the simplex algorithm is not considered a good algorithm. Therefore, during the addition of excessive constraints, the basis matrix iterations of the simplex algorithm are negatively affected and tend to decrease the RMP performance. Branch-price-cut-oriented algorithms, which are the leading exact solution concept in the current VRP literature, are more focused on 2-path inequalities than other k-path ones. If the optimality gap is low, then the whole process is terminated. However, if that gap is not adequately low despite the 2-path inequalities, different valid inequality concepts or clever branching strategies (see Kohl et al. [27] and Kallehauge et al. [28] for an extensive review) are applied instead of other k-path inequalities. This is because, for instance, these strategies, such as network branching, are capable of decreasing the optimality gap without increasing the number of constraints in the RMP. The application of even a few branching cuts can reduce the remaining gap significantly. For our work, no branching strategy is in existence due to the very low optimality gap.

3.3. Network Representation

According to the problem definition in our study, one can examine how vehicles may travel along the routes in Figure 1. The figure illustrates two different vehicles, the first of which is blue and is connected to a blue trailer, and the second of which is red connected to a green trailer. The blue vehicle represents the owned vehicle of the logistic company, whereas the red one is the rented vehicle. W i is the washing node for vehicles that have recently carried the ith product type, and the ith product type can only be washed at W i . D i implies the departure node of vehicles that have just carried the ith product type at that time. S i is the supply node or loading zone for the ith product type, whereas C i is the customer node or unloading node for the ith product type. Finally, G represents the terminal/garage node. Additionally, in that figure, the blue trailer is capable of transporting 0th, 1st, and 2nd type of product, while the green trailer can only carry the 0th and 2nd type of product. Thus, the customer points/nodes of the 2nd type of product can be served by both the blue trailer and the green trailer.
Undoubtedly, in real-world operations based on our FTL network, the number of possible route combinations can grow exponentially due to factors such as multiple product types, diverse trailer types, numerous departure points, and high volume of orders. Consequently, the implementation of efficient heuristic and exact algorithms is essential to achieve optimal solutions.
Before presenting our approach to heuristic and exact solution methods, a small-scale network structure is illustrated in Figure 2. As shown in the network representation figure, the system consists of multiple departure nodes, washing nodes, customer nodes, supply nodes, and vehicles that are capable of traversing the connecting arcs. In real-world operations, suppliers often require that logistics companies should refrain themselves from using trucks that have previously transported another product type even if that product type is similar to the suppliers’ product type by necessitating the inclusion of washing processes during transportation.
Additionally, in Figure 2, the green box represents the first type of trailer, while the blue box denotes the second type of trailer. The blue vehicle indicates the number of owned vehicles at a departure point, whereas the red vehicle represents the number of rented vehicles at the same departure point. It is evident from Figure 2 that the green trailer is capable of transporting all product types, whereas the blue trailer is restricted and cannot carry the second type of product.
As depicted in Figure 2, vehicles are forced to visit washing nodes before visiting supply nodes in order to avoid contamination after their departure. If a vehicle has completed its task with the current product type after unloading and needs to transport another product type, then that vehicle should visit the supply node of the next product type. However, the vehicle is compelled to visit the relevant washing node utilizing the arc structure depicted in Figure 2 before visiting that supply node.
In summary, a relevant idle vehicle type connected to a relevant trailer type can be observed at departure nodes in Figure 2. In the study, each washing center is a collection of W i nodes for all product types because it is assumed that a washing center is capable of washing every vehicle regardless of what they have carried previously. However, multiple washing centers can exist in a network due to their different locations. For example, W 0 ,     W 1 ,     W 2 in Figure 2 constitute a washing center (meaning the network in the figure has just one washing center in total).
It is important to note that washing nodes do not operate under time window constraints, allowing a vehicle to initiate its washing process at any time upon arrival. The duration of the washing process, however, may vary depending on the washing matrix. Therefore, when a trailer that has just carried product X requires washing to carry product Y , the absolute difference between the minimum washing time for product X in the washing matrix and the washing time required for transitioning from product X to product Y is taken subsequently. This difference is then added to the travel time between the current washing node and the supply node of product Y . Thus, the washing node always has a constant washing time for product X without loss of generality throughout the CG algorithm. In this study, it is important to recall that product X can only be washed at W x .
Figure 3 illustrates examples of the washing matrix and trailer–product matrix. Each entry in the washing matrix represents the number of time units required to enable the transition of a trailer from carrying one product type to another type. Additionally, each entry in the trailer–product matrix indicates whether a specific trailer type is capable of loading the corresponding product.
In Figure 2, it should be noted that the blue box denotes the second type of trailer, whereas the blue vehicle indicates the number of owned vehicles at the relevant departure point. Additionally, the blue trailer is restricted and cannot carry the second type of product. When considering a subproblem and its network where a blue vehicle with blue type of trailer is about to depart from the relevant departure point, the inward arcs for the second-product-type-based supply node and second-product-type-based washing nodes have been removed (as can be seen in Figure 2, second-product-type-based customer nodes can only be visited after visiting the second-product-type-based supply node; therefore, these customers cannot be visited after the removal of the inward arcs of the second-product-type-based supply node). Thus, the relevant trailer is forced to visit relevant supply nodes on the subproblem network without violating the trailer–product matrix.

4. Methodology

4.1. Construction Heuristic

For the problem described in the network representation in Figure 2, we utilize an insertion-based method inspired by Solomon [5] that incrementally adds nodes on a route in a feasible manner until all contracted customers are served. Non-contracted customers, on the other hand, are not required to be served because they do not have to be satisfied by definition. Therefore, excluding them can reduce the heuristic’s execution time to find feasible routes.
It is well established that a CG method cannot start off without the presence of initial columns. This limitation arises because CG algorithms rely on dual variables derived from the current RMP to identify promising columns from the associated subproblem as noted by Dantzig et al. [6]. Consequently, a computationally efficient construction heuristic proposed by Solomon [5] was employed to generate the first columns required to initiate the CG process.
In the construction heuristic method, each vehicle is assigned to a route, ensuring that all vehicles depart from a designated departure node and arrive at a terminal or garage node. Therefore, arcs are added from supply nodes to garage nodes, washing nodes to garage nodes, and departure nodes to garage nodes to complete routes for each vehicle rapidly. A vehicle must adhere to time window constraints, the trailer–product matrix for product transitions and the washing matrix for washing process times until it reaches the terminal/garage node during insertions of nodes on the potential route of that vehicle. In fact, Solomon insertion method [5] decides to extend routes, creating weighted averages for each feasible extension using arc cost and travel times. However, we only care about feasible extensions during the insertion. This is because the construction heuristic is just aimed at providing initial columns/routes for CG. For the extension/insertion process in the algorithm, we display how arcs are selected for the route extension (that also means node insertion because an added node should be connected to the current route with an arc) in Algorithm 1, line 9. While there is a route and intention to insert a node, all arcs that have an intersection with the last node of the route are ordered randomly. Subsequently, the first encountered arc that ensures the feasible extension is used during the for loop in line 9 of Algorithm 1. Furthermore, a list of contracted customers is maintained during the construction heuristic execution. Each time a contracted customer is visited, it is removed from the list. In summary, non-contracted customers are not visited on these routes, while contracted customers are visited exactly once.
At the conclusion of the insertion process, it is possible that not all contracted customers have been included in the routes. Consequently, the algorithm is re-executed from the beginning until all contracted customers are successfully covered. Due to the presence of multiple time windows, the insertion heuristic prioritizes selecting the closest time window for each node during the connection process. For example, while the last node on a route is about to be connected to another node during the extension/insertion, the first daily time window of another node is checked. If infeasibility happens, violating that time window, then the second daily time window is checked. This approach enhances the potential for a route to include a greater number of customer nodes. This implementation is critical because failing to select a time window efficiently would necessitate a significantly larger number of routes (also meaning a larger number of vehicles) to cover all contracted customers. Given the limited number of vehicles available, this implementation is essential. In addition, prior to connecting a node to another node on the current route, all potential arcs for the extension are randomly ordered. These arcs are then evaluated sequentially based on this order to enhance the diversification in the heuristic algorithm.
By employing Algorithm 1, the initial routes/columns generated through the heuristic method will facilitate the execution of the exact algorithm based on CG. However, during the initial solution phase, undesirable routes, such as those which have connections between supply nodes and garage nodes or between washing nodes and garage nodes, may emerge. For example, if a vehicle is loaded, then it should proceed to unload the cargo rather than traveling to a garage or terminal node. Similarly, if a vehicle has just been washed, then it should travel to load a product instead of heading to the terminal node/garage.
To prevent the mentioned infeasible routes above from being included in the solution during the CG method, prohibitive costs (Big M values) are imposed on such connections in RMP. Subsequently, arcs connecting supply nodes to garage nodes, washing nodes to garage nodes, and departure nodes to garage nodes are removed just before the CG algorithm to ensure the generation of logical and meaningful routes for the problem.
Algorithm 1: Route Based Construction Heuristic
Mathematics 13 00876 i001
Feasible extensions/insertions in Algorithm 1 are applied benefiting from the label updating procedure in forward labeling using Equations (12)–(17) during the label-setting algorithm below. Additionally, the list L in Algorithm 1 contains all the contracted customers in the problem, and until the list becomes empty, the algorithm tries to assign routes for the vehicles. This is because each vehicle represents a route in the whole problem.

4.2. Column Generation Algorithm

According to the literature, CG methods work rather efficiently in partitioning problems such as the generalized assignment problem (Savelsbergh [29]) or the cutting stock problem (de Carvalho et al. [30]) and VRP, while an exact algorithm is aimed at reaching optimality. Particularly, in VRP, CG methods create a leap (Desrosiers et al. [31]) in large instances compared to other exact solution techniques, such as mixed-integer programming or branch and bound or branch and cut due to their extreme efficiency. That is why the recent VRP literature is revolving around branch-price-cut algorithms based on the CG method while focusing on exact solutions. The pricing part of those algorithms is aimed at generating columns using the CG method, whereas the cutting concept is opted to obtain solutions close to integer values as in our exact algorithm for the relevant FTL transportation. Branching strategies are preferred to decrease the optimality gap further. However, our algorithm does not have any branching concept due to the fact that it already finds a low optimality gap at the root node. In short, it can be expressed that our exact algorithm can be deemed to be a part of branch-price-cut algorithms.
In VRP, the CG method needs an initial column/route set to start off; hence, construction and improvement heuristics can be deployed to reach them. Subsequently, the CG method continues to iterate itself until it attains the RMP optimality, which is a lower bound for the original problem. It is well known that the label-setting algorithm, which is employed to generate columns/routes in CG methods, has a high pseudo-polynomial time complexity due to the fact that it is the multi-dimensional version of the label-correcting algorithm (Dial et al. [32]). The label-setting algorithm consistently aims to derive promising columns/routes by utilizing the dual variables identified by RMP while adhering to the resource constraints defined for the routes/columns in the given VRP (Feillet, Dominique, et al. [33]). However, construction or improvement heuristics have polynomial time complexity. In our work, the construction heuristic and CG are serially executing algorithms and the whole solution complexity equals the maximum complexity among serial algorithms according to complexity analysis. Therefore, the overall complexity becomes pseudo-polynomial. Thus, the label-setting algorithm creates a bottleneck in the whole solution process, which is why acceleration techniques are used to generate columns faster, alleviating the impact of that bottleneck. Bi-directional search (Righini and Salani [9]), heuristic column generation (Desaulniers et al. [8]), and ng-route relaxation (Baldacci et al. [10]) techniques are aimed at accelerating the generation of promising column/route whereas the subproblem selection (an extension of the heuristic column generation technique) focuses on prioritizing the relevant subproblem, which will be capable of yielding promising columns without searching all subproblems. Regarding the exact approach, these acceleration techniques give the best performance and are widely used compared to others in current VRP literature when merged with CG methods. Thus, in our work, the most promising exact algorithm based on the CG method and the most promising acceleration techniques or concepts regarding that method in VRP literature are involved after an efficient route-based Solomon insertion method [5] has been employed. Furthermore, it must be noted that CG method and its acceleration techniques are inherently problem-dependent. Hence, this situation forces one to modify them while having a unique problem concept as we did in our work.
If all route variables were already available, the optimization of the model (1)–(8) would yield the optimal integer solution. However, the number of route variables is exceedingly large. Consequently, the optimization of the RMP is employed as an important step to compute a suitable lower bound for the original problem (1)–(8) by relaxing integer constraints. This process utilizes subproblems to identify and extract promising columns/routes so as to add them to the RMP structure. RMP is critical because of the fact that its optimal value results in a lower bound, and an upper bound can be acquired using columns generated so far.
The fundamental procedure of the CG algorithm, inspired by the Dantzig–Wolfe decomposition method [6], is presented in Algorithm 2 for further examination.
Algorithm 2: Basic Column Generation
Mathematics 13 00876 i002
In this study, the pricing problem always needs to be solved for the given subproblem. According to the CG model (1)–(8), the total number of subproblems is o O i I o j J 1 . Each subproblem is based on a given trailer o O and a given departure node i I o for that trailer and a given vehicle type j J connected with that trailer. Moreover, each subproblem has its own network where a relevant vehicle type connected to a relevant trailer can travel, departing from the relevant departure point. For a given subproblem network under a certain o O ,   i I o , j J , a pricing problem can be defined as follows:
min k P   c ¯ o i j k
The equation above is subject to the following:
Time windows constraints are respected;
Customer points should be visited at most once.
In the pricing problem above, P is the subset of all routes that can exist in the given subproblem, visiting each customer node at most once as well as not violating time window structures.
c ¯ o i j k = c o i j k     q C a o i j k q   α q q C a o i j k q   α q     U P C m , n     A U b o i j k m n   λ U     m , n     A C W m , n     A m , n b o i j k m n p 1 m n     m , n     A S C m , n     A m , n b o i j k m n p 2 m n β
In Equation (9), c o i j k is the cost of the route, whereas α q , α q , λ U , p 1 m n , p 2 m n are the dual variables of (2), (3), (5), (6), and (7), respectively. β is the dual variable that belongs to (4), corresponding to the current subproblem. Finally, c ¯ o i j k is the reduced cost, which belongs to the route.

4.2.1. Label-Setting Algorithm

In our study, the label-setting algorithm is aimed at extracting promising routes/columns from the pricing problem. This algorithm needs to be applied to every subproblem that we have in the CG model (1)–(8). In total, there are o O i I o j J 1 subproblems, each of which is based on a given trailer o O , a given departure node i I o for that trailer, and a given vehicle type j J connected with that trailer. In fact, each subproblem has its own network in itself, and vehicles that can travel that network have a limit of H o i j   in (4). Therefore, the networks of all subproblems are being analyzed using the label-setting algorithm to identify promising columns/routes that have the potential to enhance the RMP. If no subproblem yields a promising column, it indicates that the optimal solution for the RMP has already been attained. Consequently, a lower bound for the CG model (1)–(8) has been established.
Michelini, Stefano, Yasemin Arda, and Hande Küçükaydin [34] addressed the VRP with time windows and variable departure times using branch price algorithms. Given that the reduction in redundant waiting times at visited nodes on routes is also a focus of our study, we adapted and applied a modified version of their approach. Furthermore, we were inspired by the work of Feillet; Dominique et al. [33]; and Righini, Giovanni, and Matteo Salani [9,35], who developed effective labeling procedures that are known as forward and backward labeling for solving elementary shortest-path problems with resource constraints. These adaptations enabled us to incorporate a tailored version of their methodologies into our problem. Table 2 summarizes the notation for the label-setting algorithm.
Now, consider a forward path such as P F = ( v 0 , v 1 , v i ) , where v 0 is one of the all departure nodes (departure node of the network in the current subproblem), and all nodes on that path have been visited within one of their multiple time windows, that is, [ a i , b i ] for each node v i . Because vehicles can leave the departure node later, let ν i be the latest feasible start time from the departure node. The latest feasible start time can be written as follows:
ν i = min 1 k i b k θ k ,
where θ k is the cumulative time and always updated with θ k = θ k 1 + t ¯ k 1 , k ,   while t ¯ k 1 , k = s k 1 + t k 1 , k . Arc travel times from v k 1 to v k are depicted as t k 1 , k , whereas s k 1 is the process time at v k 1 . Additionally, the earliest feasible start time at node v i can be calculated as μ i = max a i , μ i 1 + t ¯ i 1 , i   . When the forward path P F = ( v 0 , v 1 , v i ) is in existence, the minimum duration for starting at v i , which is defined as ζ i , takes place while the vehicle employs the latest feasible start time from the departure node, which is ν 0 .
Due to the triangle inequality structure, the optimal path should be an elementary path in terms of customer points/nodes that means at the optimality an optimal route cannot visit a customer node multiple times. So, the label ( E i k ) is employed for k N , where N is the set of whole nodes in the problem. If the partial path P F = v 0 , v 1 , v i has visited customer node k , then ( E i k ) becomes 1 and 0 otherwise. However, in this study, there also washing and supply points/nodes instead of pure customer points/nodes. Therefore, if a node, for example, is a washing or supply node, and it has been already visited by the partial path, then ( E i k ) may remain as 0 due to the fact that non-customer nodes do not need to be visited at most once in the CG model.
In short, P F = ( v 0 , v 1 , v i ) also can be expressed as L i ( ν i ,   μ i , ζ i , ( E i k ) k N ,   c i , θ i ) , where c i is the reduced cost of the partial forward path. In order to calculate the reduced cost over a partial path, original arc costs and dual variables coming from RMP must be merged together. Therefore,
c ¯ i j = c i j α i     U   P C |   i , j A ( U ) λ U i , j A C W |   i , j A i , j p 1 i j i , j A S C |   i , j A i , j p 2 i j   ,     ( i , j )   A
where α i is the dual variable for contracted or non-contracted customer visiting constraints coming from (2) and (3), λ U is the dual variable for k-path (k = 2) inequalities (5), p 1 i j and p 2 i j are dual variables of the relevant arc flow constraints (6) and (7), respectively, c i j is the cost which has been found after Floyd–Warshall algorithm with the addition of extra costs such as washing costs, and 𝒜 is the set of all arcs that can exist in the current subproblem. Therefore, the reduced cost of a partial forward path called P F = ( v 0 , v 1 , v i ) can be written as c i = ( k , l ) P F c ¯ k , l β . Here, β is the constant dual variable corresponding to k K θ o i j k   H o i j   for a given o O ,   i I o   ,   j J originating in constraint (4). Recall that each subproblem in our study corresponds to a given o O ,   i I o   ,   j J , and the network belonging to that subproblem is being taken into account to generate promising routes.
During the extension of label to node j , L j ( ν j , μ j , ζ j , ( E j k ) k N , c j , θ j ) is obtained using the following label-updating procedure:
c j = c i + c ¯ i j
ζ j = max ζ i + t ¯ i , j   , μ j ν j
μ j = max a i , μ i + t ¯ i , j
ν j = min ν i , b j θ j
θ j = θ i + t ¯ i , j
E j k = E i k + 1   E i k                             i f   k = j   a n d   j   C   C                             i f   k j     o r   j   C   C
When E j k > 1 for a customer node k , then L j ( ν j ,   μ j , ζ j , ( E j k ) k N ,   c j , θ j ) is eliminated. For washing and supply nodes, E j k always remains 0 due to the fact that those nodes can always be visited more than once, as opposed to customer nodes. However, each time a label L i is extended to create a new label L j , the elementarity resource E j k is set to zero for k     M j , where M j is the predetermined ng-set for node j . In forward labeling, ng-sets are constructed based on supply nodes because a customer node can only be reached from supply nodes, but in the backward labeling, those sets are constituted based on supply and washing nodes because, using a reverse arc, one can travel from supply or washing nodes to customer nodes (see Figure 2). All those sets are relaxation for the elementarity of customer points; thus, the lower bound may become slightly lower, but an increase in the CG algorithm’s convergence rate is established. Furthermore, if μ j > b j , then L j ( ν j ,   μ j , ζ j , ( E j k ) k N ,   c j , θ j ) is eliminated again. Additionally, the forward label is initialized as L o ( ν 0 = ,   μ 0 = 0 ,     ζ 0 = 0 ,   ( E 0 k ) k N = 0 ,     c 0 = 0 ,     θ 0 = 0 ) for the relevant departure node at the beginning. It must also be noted that forward extension from v i is happening for each time window of v j due to multiple time windows of nodes in our study; therefore, this situation may yield multiple forward labels by its nature.
The similar forward label procedure above can also be applied to the backward path, such as P B = ( v 0 b , v 1 b , v i b ) , due to symmetry, where v 0 b is the garage node. Also, using a sufficiently large enough positive constant M, the time window [ a i , b i ] for each node v i becomes a i b , b i b = [ M b i s i   , M a i s i ]   during backward labeling. For example, M can be taken as max q max i ( C C ) ( b i q + s i + t i g ) , where t i g is the travel time from node i to garage node g (which is v 0 b at the same time), q is the time window index (recall that customer and supply points’/nodes’ multiple time windows are on daily basis), and b i q is the upper bound of q t h time windows for a given node i . It is important to reiterate that arcs can be directed exclusively to the garage node from only customer nodes since connections from other nodes to the garage node are not meaningful, as has been previously stated. Accordingly, ν i b = min 1 k i { b k b θ k b } , where θ k b = θ k 1 b + s k 1 + t k , k 1 . In short, P B = ( v 0 b , v 1 b , v i b ) can be expressed as L i b ( v i b ,   μ i b , ζ i b , E i k , b k N ,   c i b , θ i b ) , where c i b is the reduced cost of the partial backward path. During the extension of label to node j using the reverse arc ( i , j ) , L j b ( v j b ,   μ j b , ζ j b , E j k , b k N ,   c j b , θ j b ) is obtained using the following label-updating procedure:
c j b = c i b + c ¯ j i
ζ j b = max ζ i b + s i + t j , i   , μ i b v i b
μ j b = max a j b , μ i b + s i + t j , i
v j b = min v i b , b j b θ j b
θ j b = θ i b + s i + t j , i
E j k , b = E i k , b + 1   E i k , b                       i f   k = j   a n d   j   C   C                     i f   k j   o r   j   C   C
In forward labeling, ng-sets are generated based on supply nodes since customer nodes can only be reached from supply nodes. Conversely, in backward labeling, these sets are constructed based on both supply and washing nodes since reverse arcs can enable travel from supply or washing nodes to customer nodes. Additionally, the initialization of backward labels is analogous to that of forward labels, owing to the symmetry in the problem structure.
Concatenation of backward and forward paths is crucial because of the fact that, for an efficient CG, the first negative reduced cost path is employed. But label dominance is required to avoid tremendous amount of labels. Otherwise, their concatenation would be so hard and time consuming. Therefore, while there are two forward labels called L i 1 ( ν i 1 ,   μ i 1 , ζ i 1 , E i k , 1 k N ,   c i 1 , θ i 1 ) and L i 2 ( ν i 2 ,   μ i 2 , ζ i 2 , E i k , 2 k N ,   c i 2 ,   θ i 2 ) , the following dominance rules (24)–(29) make L i 1 ( ν i 1 ,   μ i 1 , ζ i 1 , E i k , 1 k N ,   c i 1 , θ i 1 ) more dominant compared to L i 2 ( ν i 2 ,   μ i 2 , ζ i 2 , E i k , 2 k N ,   c i 2 , θ i 2 ) regarding the forward labeling:
ν i 1   ν i 2
μ i 1 μ i 2
ζ i 1 ζ i 2
c i 1 c i 2
θ i 1 θ i 2
E i k , 1   E j k , 2 ,   k N
Thus, whenever L i 1 and L i 2 are extended to same node j for a specific time window of that node using extension Equations (12)–(17), then ν j 1 ν j 2   , μ j 1 μ j 2   , ζ j 1 ζ j 2 , c j 1 c j 2 , θ j 1 θ j 2 , E J k , 1   E j k , 2 for all k N are obtained regarding L j 1 and L j 2 . The same dominance rules are again applied during backward labeling because of the symmetric concept.
Whereas forward labels are derived, according to Michelini et al. [34], ζ i becomes a critical resource and forward label L i can be extended to node j , having a new forward label L j when ζ j M / 2 . The same things are again applied to backward labeling smoothly.
Label concatenation is obligatory to create new promising routes for the CG method. Therefore, the connection of forward label L i ( ν i ,   μ i , ζ i , ( E i k ) k N ,   c i , θ i ) and backward label L i b ( v i b ,   μ i b , ζ i b , E i k , b k N ,   c i b , θ i b ) , which correspond to the same node, can occur under the following conditions:
c i + c i b < 0
μ i + s i   M μ i b
E i k + E i k , b 1 ,   k N   \ v i C   C
Thus, after suitable concatenation, the column is generated, and it is added to the RMP.

4.2.2. Acceleration Techniques

In spite of the fact that the VRP literature heavily focuses on CG methods to achieve exactness in large-scale instances, acceleration techniques for those methods also draw attention considerably. For instance, in the label-setting algorithm, enormous numbers of labels are typically generated and management of them imposes a significant computational burden. Additionally, when numerous subproblems are present, their prioritization becomes crucial since searching through all potential columns within a given subproblem and identification of no promising candidates would be highly time-consuming for the solution process.
During CG methods in VRP, the label-setting algorithm must perform to feed the RMP with pseudo-polynomial complexity for each identified promising column. Therefore, a substantial acceleration for a CG implies a significant reduction in overall complexity. Thus, we incorporated four widely used acceleration techniques to enhance the convergence rate of the RMP in our study.

Heuristic Column Generator

In linear programming, the reduced cost provides a mechanism to improve the objective function, and the best reduced cost is typically prioritized to achieve optimal improvement. However, in the label-setting algorithm, identification of the column with the best reduced cost based on the dual variables of the RMP can be computationally intensive due to the fact that this circumstance requires the investigation of huge number of labels (Desaulniers et al. [8]). This is because, when an enormous number of labels exists, computationally management of those during the search for the column/route with the best reduced cost becomes exhaustive.
In order to save computational time, we adopted a heuristic approach by selecting the first encountered column/route with a promising reduced cost within the network of a subproblem rather than exhaustively searching for the best one. If no promising column is identified in a subproblem, other subproblems are sequentially considered. If none of the subproblems yield a promising column, it indicates that the RMP has already reached its optimal solution. The effectiveness of this approach was demonstrated by Desaulniers et al. [8] allowing the rapid identification of a promising column. The identified column is then incorporated into the RMP to generate new dual variables ensuring the continuation of the CG process. The pseudo-code of that method can also be examined in Algorithm 3 below.
Algorithm 3: Heuristic Column Generation
Mathematics 13 00876 i003

Subproblem Selection

Because of the fact that our problem has high number of subproblems, which is o O i I o j J 1 , a strategy needs to be developed to effectively make a decision on subproblem choice. Typically, it is possible to evaluate all subproblems sequentially in a predetermined order until a promising column is identified. However, this approach can significantly increase the time required to find such a column. For example, after a certain number of iterations in the RMP, some subproblems may lose their effectiveness in generating columns that can improve the RMP. Thus, solving these subproblems would result in wasted computational time. In order to address this issue, subproblem selection prioritizes the last subproblem that most recently contributed a promising column to the RMP rather than checking all subproblems sequentially.
It is important to note that subproblem selection is an extension of the heuristic column generation method (Desaulniers et al. [8]). This is because, in cases where there is only a single subproblem in the overall problem, heuristic column generation focuses on identifying the first promising column. However, subproblem selection aims to identify the first promising column across multiple subproblems. In short, subproblem selection is capable of reinforcing the heuristic column generation method and enables it to perform across multiple subproblems. The process can also be seen in Algorithm 4 as pseudo-code.
Algorithm 4: Subproblem Selection
Mathematics 13 00876 i004

NG-Route Relaxation

Baldacci, Roberto, Aristide Mingozzi, and Roberto Roberti [10] introduced the ng-route relaxation technique for VRP(s) with time windows. While elementary paths (visiting customer nodes/points at most once) are required in the label-setting algorithm to ensure the elementary structure of optimal paths, their approach incorporates non-elementary paths (visiting customer nodes/points multiple times) to expedite the convergence of the RMP. This relaxation substantially accelerates convergence, albeit at the cost of loosening the RMP’s lower bound. However, their study demonstrates that the loosening effect is not significant. Thus, their works can provide the addition of promising columns/routes more frequently, decreasing the convergence time of the RMP. In their method, the ng-set is defined for each node with its predetermined size, and its elements comprise neighboring nodes. Nodes within the ng-set are restricted to a single visit, whereas other nodes may be visited multiple times during the label-setting process.
Inspired by this relaxation technique, we also allow promising routes to include non-elementary paths to a limited extent, leveraging the ng-route concept. Unlike VRP(s) that consist solely of customer nodes, our problem includes additional node types, such as washing and supply nodes in addition to departure and garage nodes. Consequently, in forward paths during forward labeling, ng-sets are created based on supply nodes since customer nodes can only be reached from supply nodes using forward arcs. Conversely, in backward paths during backward labeling, ng-sets are constructed based on supply and washing nodes since reverse arcs enable traversal from supply or washing nodes to customer nodes. Thus, all ng-sets include customer points in themselves. Algorithm 5 presents the pseudo-code of that technique as follows:
Algorithm 5: NG-Route Relaxation
Mathematics 13 00876 i005

Bi-Directional Search

In our study, we employ both forward and backward labeling to implement a bi-directional search strategy, as proposed by Righini and Salani [9]. During forward labeling, feasible forward paths are identified using extension rules (12)–(17) while progressing towards the terminal/garage node. Conversely, backward labeling aims to identify feasible backward paths using extension rules (18)–(23) and to move towards the departure node of the current network as defined by the relevant subproblem. Righini and Salani [9] demonstrated that bi-directional search significantly outperforms mono-directional search in terms of computational efficiency. This is because they create routes using both the starting node (departure node) and terminal node (garage node), employing forward and backward labeling procedures simultaneously. In fact, the bi-directional search embraces two-dimensional perspectives during the creation of routes instead of a one-dimensional perspective like the mono-directional search. Consequently, concatenation rules are employed to combine forward and backward paths, generating promising columns/routes for the RMP.
Undoubtedly, the concatenation of forward and backward paths identified through the label-setting algorithm in the bi-directional search should encompass all paths that could be generated by the mono-directional search. To enhance efficiency, Righini and Salani [9] proposed bounding rules for forward and backward paths, which serve to restrict the further extension of these paths. In our study, we employed a resource-based bounding procedure and designated ζ i to become a critical resource of paths, as was also carried out by Michelini et al. [34]. Thus, our forward paths and backward paths in the study were bounded by ζ j M / 2 , guaranteeing all paths which the mono-directional search would also involve. The algorithm of the bi-directional search can be examined in Algorithm 6. In this algorithm, it is assumed that the current subproblem has its network, whose departure node is the 0th node and terminal/garage node is the nth node in the whole node set that is N .
In Algorithm 6, U L i and T L i imply untreated labels and treated labels in the forward labeling, respectively, while U L j b and T L j b indicate untreated and treated labels in the backward labeling. L i means the forward label regarding the node i , and L j b is the backward label for node j . EXTEND ( L i , j ) implies the forward extension of label L i along the arc ( i , j ) to yield label L j using Equations (12)–(17), whereas EXTEND ( L j b , k ) is the backward version of extension using Equations (18)–(23). DOMINANCE (   ) enables the bi-directional algorithm to be relieved of many labels using the dominance rules and inequalities (24)–(29). Moreover, CONCATENATION (   ) can be examined in Algorithm 7 based on Algorithm 6 with the inclusion of inequalities (30)–(32).
Algorithm 6: Bi-directional Search
Mathematics 13 00876 i006
Algorithm 7: CONCATENATION ( T L i ,   T L i b )
Mathematics 13 00876 i007
It must be emphasized that we do not strive for finding the best path, as shown in line 30 of Algorithm 6. In fact, we employ the bi-directional search during the label-setting algorithm instead of the mono-directional one without any effort to find the best promising column/route due to the usage of the heuristic column generation method at the same time.

5. Computational Study

5.1. Details of Experiments

Due to the absence of instances related to our problem concept in VRP literature, we generated instance sets artificially. Nevertheless, the operations of a prominent local logistics company in Turkey, which has been in the business of large-scale liquid transportation with 600 vehicles, were considered, and their processes were examined. Consequently, ranges were established for arc costs, travel times, process times, washing costs and profits associated with non-contracted customers. Random numbers were generated within these ranges using a uniform distribution.
In order to ensure the triangle inequality (as in real life cases) among arc costs and travel times within the network, the Floyd–Warshall all-pairs shortest-path algorithm (Floyd, Robert W [36]) was applied. Following this algorithm, additional costs related to washing operations or loaded positions and extra profits associated with serving the non-contracted customers were incorporated into the arc costs, which had been derived from the Floyd–Warshall [36] algorithm. Furthermore, each type of trailer was designed to accommodate at least 50% of the product types based on the trailer–product matrix, while each product type could be transported by at least one trailer type, mirroring real-life scenarios. The washing matrix was also artificially generated to reflect real-world operations closely.
The instances used in this study consist of 80% contracted customers and 20% non-contracted customers. The total number of customer points/nodes considered across different instances is {30, 60, 120}. At departure nodes, the proportion of owned to rented vehicle types varies between 65–35% and 50–50%. This circumstance happened because whenever a trailer was associated with a product type, two owned vehicles and one rented vehicle, one owned vehicle and one rented vehicle, or three owned and two rented vehicles connected to that trailer were assigned to the corresponding departure node, which contained vehicles that had previously transported that product type. Additionally, due to the presence of multiple departure nodes, the total number of departure nodes across instances is {20, 30, 40}.
This study incorporates multiple daily time windows for customers and suppliers whose number of time windows is 2, 3, or 4 during instances. For washing operations, the number of washing centers in the network was set to 3, 5, or 7 per instance. It is important to note that each washing center consists of a number of nodes equivalent to the total number of product types as illustrated in Figure 2. Moreover, the CG model (1)–(8) includes numerous cuts associated with constraints (6) and (7). In order to manage them, every 50 iterations (50 column generations), these cuts were progressively added one at a time.
The total number of product types and trailer types is {4, 6, 8} across all instances. Predetermined ng-sets in forward labeling were constructed based on supply nodes since customer nodes can only be reached from supply nodes. These ng-sets contain only customer nodes within the neighborhood of the relevant supply node, having sizes of {2, 4, 8} for the instances whose total number of customer is {30, 60, 120}, respectively. Similarly, in backward labeling, these ng-sets consist of customer nodes in the neighborhood of the relevant supply or washing node, having sizes of {2, 4, 8} for the instances whose total number of customers is {30, 60, 120}, respectively.
After RMP optimality had been reached, we called the objective z l b , recalling that RMP during the CG method gives the lower bound of the model (1)–(8). Then, we found integer solutions using the columns/routes located in RMP, and an upper bound for our problem called z was found, benefiting from those solutions. In order to find the optimality gap, we calculated 100 z z l b z accordingly.

5.2. Results of Experiments

In total, 117 instances were generated, and their performance analysis was conducted. For each instance, the inputs included the number of time windows, product types, trailer types, washing centers, customer number, departure point, and idle vehicles. The computational time and optimality gap results were obtained based on the given inputs. All instances generated for the computational performance analysis can be examined in Table 3.

5.3. Discussion of Results

It can be seen in the VRP literature that CG-based exact algorithms analyze CPU(s) mostly with one dimension, the total number of customers. This is because, for example, their networks mostly consist of just one time window for each node and one departure node. However, in our work, we have multiple time windows for each node as well as multiple departure nodes, and those structures aggravate CPU(s) as well. Therefore, investigation of CPU(s) with multi-dimensions makes sense. In our study, Table 4 and Table 5 present a three-dimensional perspective towards CPU(s).
In Table 4, due to the extensive number of breakdowns originating from multiple dimensions of inputs, it was not feasible to include all possible instances. We have six input parameters: number of time windows, product types, trailer types, washing centers, total customers, and departure points. Each of them takes three different values, which implies that a huge number of breakdowns is in existence. Nevertheless, gathering a sufficient amount of data for each breakdown would require a tremendous amount of computational time. Therefore, a selected subset of instances (117 instances in total) was analyzed to provide sufficient insights for the problem. Instances that were excluded are represented by blanks in the table. It is observed that the instance with 120 total customers, 8 trailer types, and 8 product types exhibits the highest average computational time. Additionally, when the number of trailer types or product types increases while the number of customers are 30, 60, or 120, the computational time tends to rise significantly. Specifically, when the total number of customers is 120 and the number of product types is fixed at 8, a substantial percentage increase in computational time can be observed, while the number of trailer types goes up from 4 to 8. That increase in CPU, which is approximately 350%, is almost the same when the total number of customers is 30 or 60 instead of 120. Similarly, when the total number of customers is 120 and the number of trailer types is fixed at 8, a marked increase in the computational time occurs, whereas the number of product types increases from 4 to 8. An approximately 450% difference in the CPU time emerges during that increase in the number of product types. The same circumstance with the same percentage increase can also be observed, while the number of total customers is 30 or 60.
In Table 5, it is evident that the highest computational times occur when there are 120 customers, 7 washing centers, and a large fleet size. A significant percentage increase in computational time is observed when the number of washing centers is going up from 3 to 7 while having 120 customers with a large fleet size. Furthermore, for 120 customers and 7 washing centers, the computational time undergoes a huge percentage increase, whereas the fleet size shifts from small to large. However, those two percentage increases are so close to each other; the first of them is approximately 313%, and the second one is almost 333%. The same observation can also be made when the total number of customers is 30 instead of 120, and a 317% increase takes place for both cases. Although, these percentage increases become different, whereas the same observation with 60 customers is in existence. It is important to note that, in Table 4, a small-sized fleet (S) comprises a maximum of 220 vehicles, whereas a medium-sized fleet (M) consists of 221 to 340 vehicles. A large-sized fleet (L) includes more than 340 vehicles but fewer than 600.
Recalling that our problem involves high-dimensional structures and each input has its own breakdowns, one can examine the CPU(s) in a multi-dimensional frame. Thus, Figure 4 enables one to investigate the two-dimensional variation of CPU(s) among instances. In Figure 4, one of those dimensions is always labeled the number of customer points, as the VRP literature is familiar with. However, in order to complete the two-dimensional frame, the other dimension is selected among fleet size, the number of time windows, departure points, the number of product types, trailer types, and washing centers. The VRP literature widely acknowledges that an increase in the number of customer nodes significantly escalates the solution time in VRP. However, as illustrated in Figure 4, other factors, such as fleet size, the number of time windows, the number of washing centers, the number of departure nodes, and the number of product and trailer types, can further exacerbate the challenges posed by a large number of customers. In short, we aim to examine how the CPU time reacts when extra complexities are added to our specified FTL network. For example, instances that have a high number of time windows and a high number of customer points increases the CPU time more exponentially than ones which have a high number of washing centers and high number of customer points. In particular, Figure 4b demonstrates that the increase in the number of time windows intensifies the solution time more substantially compared to Figure 4a–f, while the number of customers grows. This effect is evident because the divergence between lines in Figure 4b becomes more pronounced as the customer size increases. In contrast, Figure 4d reveals that an increase in the number of departure points results in an almost linear shift in solution time as opposed to others, whereas the number of customers rises due to the fact that the divergence between lines is not growing considerably. Additionally, with respect to Figure 4e,f, it can be inferred that CPU time is more sensitive in Figure 4f. This is because the divergence between lines is more apparent in Figure 4f. This situation implies that while instances with a high number of customers are observed, the CPU time tends to react more significantly with the rising number of trailer types than with the growing number of product types. Regarding Figure 4a,c, it can be deduced that the reaction of the CPU time tends to be more elevated in Figure 4a due to the divergence between lines being more obvious. This circumstance indicates that while instances with a high number of customers are observed, the CPU time tends to respond more visibly to the increase in fleet size than to the increase in washing centers.
Nevertheless, our algorithms were implemented on Visual Studio (2020), and linear programming models were solved with IBM ILOG CPLEX 12.9. (IBM 2020) using a computer with 2.4 GHz Intel i7-13700 processor and 32 GB RAM running on a Windows 11 operating system. One can also observe all detailed results regarding our instances in Table 5.

6. Conclusions

This study addresses the FTL problem, which is a critical and widely encountered operation in the logistics sector. The proposed algorithm can be applied to reach the exact solution when information related to vehicles and customers is apparent. If demands owned by the logistic firm have been categorized as contractual or non-contractual, specifying the product types and the number of time windows within which those orders can be met, then those inputs can be put into the algorithm. Furthermore, the information regarding which type of available vehicle can depart with which type of trailer from a specific location can be embedded into the inputs of the algorithm as well as the details of washing centers. Afterwards, involving relevant transportation costs, travel times, and profits originating from satisfying non-contracted customers, a logistic firm can find out the optimal total transportation cost and optimal routes for designated vehicles by arranging the departure time of those vehicles to reduce waiting times at relevant locations on their routes as well.
The performance results indicate that small optimality gaps of less than 1% can be achieved within reasonable computational times even in the large-scale instances of the logistic firm that inspired our work. Specifically, optimality can be attained within three and a half hours for instances involving up to one-hundred-and-twenty customer points, eight product and trailer types, seven washing centers, four time windows, and forty departure points. Furthermore, it can be noted that the computational time required for optimization over extended time horizons with a large number of customers tends to rise substantially. This is mainly due to the fact that the CPU time is most affected by the increase in the number of time windows as the number of customers increases, as shown in the Computational Study Section. Undoubtedly, the computational time can also be reduced significantly by employing enterprise processors or servers in chip markets.
However, one of the limitations of this study is the absence of a benchmark dataset for the relevant FTL problem concept, which necessitated the creation of artificial instances. Furthermore, the large number of breakdowns caused by the high number of parameters entails a huge consumption of time to collect a sufficient amount of data for each breakdown regarding further analysis.
Future research could explore more complex networks, diverse vehicle types, driver constraints, and dynamic optimization in FTL operations. This includes incorporating electric vehicles and drones, considering driver rest requirements, and applying stochastic and dynamic optimization techniques to address uncertainties in transportation processes. Overall, future studies should focus on evolving vehicle, driver, and network concepts in FTL transportation.

Author Contributions

Conceptualization, methodology, formal analysis, writing—original draft, writing—review and editing, T.E. and R.E.; software, validation, T.E.; supervision, R.E. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

The original contributions presented in this study are included in the article, and further inquiries can be directed to the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Konstantakopoulos, G.D.; Gayialis, S.P.; Kechagias, E.P. Vehicle routing problem and related algorithms for logistics distribution: A literature review and classification. Oper. Res. 2022, 22, 2033–2062. [Google Scholar]
  2. Sampson, J.R. Adaptation in natural and artificial systems (John H. Holland). SIAM Rev. 1976, 18, 529. [Google Scholar] [CrossRef]
  3. Dorigo, M.; Maniezzo, V.; Colorni, A. Ant system: Optimization by a colony of cooperating agents. IEEE Trans. Syst. Man Cybern. Part B (Cybern.) 1996, 26, 29–41. [Google Scholar] [CrossRef] [PubMed]
  4. Glover, F. Future paths for integer programming and links to artificial intelligence. Comput. Oper. Res. 1986, 13, 533–549. [Google Scholar] [CrossRef]
  5. Solomon, M.M. Algorithms for the vehicle routing and scheduling problems with time window constraints. Oper. Res. 1987, 35, 254–265. [Google Scholar] [CrossRef]
  6. Dantzig, G.B.; Philip, W. Decomposition principle for linear programs. Oper. Res. 1960, 8, 101–111. [Google Scholar] [CrossRef]
  7. Costa, L.; Contardo, C.; Desaulniers, G. Exact branch-price-and-cut algorithms for vehicle routing. Transp. Sci. 2019, 53, 946–985. [Google Scholar] [CrossRef]
  8. Desaulniers, G.; Lessard, F.; Hadjar, A. Tabu search, partial elementarity, and generalized k-path inequalities for the vehicle routing problem with time windows. Transp. Sci. 2008, 42, 387–404. [Google Scholar] [CrossRef]
  9. Righini, G.; Salani, M. Symmetry helps: Bounded bi-directional dynamic programming for the elementary shortest path problem with resource constraints. Discret. Optim. 2006, 3, 255–273. [Google Scholar] [CrossRef]
  10. Baldacci, R.; Mingozzi, A.; Roberti, R. New route relaxation and pricing strategies for the vehicle routing problem. Oper. Res. 2011, 59, 1269–1283. [Google Scholar] [CrossRef]
  11. Ball, M.O.; Golden, B.; Assad, A.A.; Bodin, L. Planning for truck fleet size in the presence of a common-carrier option. Decis. Sci. 1983, 14, 103–120. [Google Scholar] [CrossRef]
  12. Desrosiers, J.; Laporte, G.; Sauve, M.; Soumis, F.; Taillefer, S. Vehicle routing with full loads. Comput. Oper. Res. 1988, 15, 219–226. [Google Scholar] [CrossRef]
  13. Soleilhac, G.; Lehuédé, F.; Medina, J.; Péton, O. The Vehicle Routing Problem with FTL and LTL Carriers. Ph.D. Thesis, IMT Atlantique, Nantes, France, 2022. [Google Scholar]
  14. Ghilas, V.; Hedtke, I.; Weise, J.; Van Woensel, T. Spot market versus full charter fleet: Decision support for full truck load tenders. EURO J. Decis. Process. 2022, 10, 100022. [Google Scholar] [CrossRef]
  15. El Bouyahyiouy, K.; Bellabdaoui, A. The selective full truckload multi-depot vehicle routing problem with time windows: Formulation and a genetic algorithm. Int. J. Supply Oper. Manag. 2022, 9, 299–320. [Google Scholar]
  16. Ghorpade, T.; Rangaraj, N. Order first split second heuristic for alternative routing strategy for freight railways. Transp. Policy 2022, 124, 139–148. [Google Scholar] [CrossRef]
  17. Fadda, P.; Mancini, S.; Serra, P.; Fancello, G. The heterogeneous fleet vehicle routing problem with draft limits. Comput. Oper. Res. 2023, 149, 106024. [Google Scholar] [CrossRef]
  18. Çabuk, S.; Erol, R. Solving Dynamic Full-Truckload Vehicle Routing Problem Using an Agent-Based Approach. Mathematics 2024, 12, 2138. [Google Scholar] [CrossRef]
  19. Lu, F.; Du, Z.; Wang, Z.; Wang, L.; Wang, S. Towards enhancing the crowdsourcing door-to-door delivery: An effective model in Beijing. J. Ind. Manag. Optim. 2025, 21, 2371–2395. [Google Scholar] [CrossRef]
  20. Masmoudi, M.A.; Anna Kuzmicz, K.; Pesch, E.; Demir, E.; Hosny, M. Container truck transportation routing as a mixed fleet heterogeneous dial-a-ride problem. In Proceedings of the 9th International Conference on Engineering, Project, and Production Management (EPPM2018), Cape Town, South Africa, 24–26 November 2018; Volume 312. [Google Scholar]
  21. Nasr, N.; Niaki ST, A.; Hussenzadek Kashan, A.; Seifbarghy, M. An efficient solution method for an agri-fresh food supply chain: Hybridization of Lagrangian relaxation and genetic algorithm. Environ. Sci. Pollut. Res. 2021, 1–19. [Google Scholar] [CrossRef]
  22. Xue, N.; Bai, R.; Qu, R.; Aickelin, U. A hybrid pricing and cutting approach for the multi-shift full truckload vehicle routing problem. Eur. J. Oper. Res. 2021, 292, 500–514. [Google Scholar] [CrossRef]
  23. Baller, R.; Fontaine, P.; Minner, S.; Lai, Z. Optimizing automotive inbound logistics: A mixed-integer linear programming approach. Transp. Res. Part E Logist. Transp. Rev. 2022, 163, 102734. [Google Scholar] [CrossRef]
  24. El Bouyahyiouy, K.; Bellabdaoui, A. A Genetic-Based Algorithm for Commodity Selection and Full Truckload Vehicle Routing Problem. In International Conference on Digital Technologies and Applications; Springer Nature: Cham, Switzerland, 2023; pp. 806–816. [Google Scholar]
  25. Melchiori, L.; Nasini, G.; Montagna, J.M.; Corsano, G. Resources synchronization in a full truckload pickup and delivery problem: An exact approach. Comput. Oper. Res. 2023, 151, 106118. [Google Scholar] [CrossRef]
  26. El Bouyahyiouy, K.; Annouch, A.; Bellabdaoui, A. An MILP-based Lexicographic Approach for Robust Selective Full Truckload Vehicle Routing Problem. Int. J. Adv. Comput. Sci. Appl. 2023, 14, 642–650. [Google Scholar] [CrossRef]
  27. Kohl, N.; Desrosiers, J.; Madsen, O.B.; Solomon, M.M.; Soumis, F. 2-path cuts for the vehicle routing problem with time windows. Transp. Sci. 1999, 33, 101–116. [Google Scholar] [CrossRef]
  28. Kallehauge, B.; Larsen, J.; Madsen, O.B.; Solomon, M.M. Vehicle Routing Problem with Time Windows; Springer: Greer, SC, USA, 2005. [Google Scholar]
  29. Savelsbergh, M. A branch-and-price algorithm for the generalized assignment problem. Oper. Res. 1997, 45, 831–841. [Google Scholar] [CrossRef]
  30. de Carvalho, J.M.V. Exact solution of cutting stock problems using column generation and branch-and-bound. Int. Trans. Oper. Res. 1998, 5, 35–44. [Google Scholar] [CrossRef]
  31. Desrosiers, J.; Soumis, F.; Desrochers, M. Routing with time windows by column generation. Networks 1984, 14, 545–565. [Google Scholar] [CrossRef]
  32. Dial, R.; Glover, F.; Karney, D.; Klingman, D. A computational analysis of alternative algorithms and labeling techniques for finding shortest path trees. Networks 1979, 9, 215–248. [Google Scholar] [CrossRef]
  33. Feillet, D.; Dejax, P.; Gendreau, M.; Gueguen, C. An exact algorithm for the elementary shortest path problem with resource constraints: Application to some vehicle routing problems. Netw. Int. J. 2004, 44, 216–229. [Google Scholar] [CrossRef]
  34. Michelini, S.; Yasemin, A.; Hande, K. Branch-and-price algorithms for a VRP with time windows and variable departure times. In Proceedings of the IFORS 2017-21st Conference of the International Federation of Operational Research Societies, Québec City, QC, Canada, 17–21 July 2017. [Google Scholar]
  35. Righini, G.; Matteo, S. New dynamic programming algorithms for the resource constrained elementary shortest path problem. Netw. Int. J. 2008, 51, 155–170. [Google Scholar] [CrossRef]
  36. Floyd, R.W. Algorithm 97: Shortest path. Commun. ACM 1962, 5, 345. [Google Scholar] [CrossRef]
Figure 1. Example of routes that can be traveled by vehicles connected to relevant trailers departing from relevant departure nodes.
Figure 1. Example of routes that can be traveled by vehicles connected to relevant trailers departing from relevant departure nodes.
Mathematics 13 00876 g001
Figure 2. Network representation.
Figure 2. Network representation.
Mathematics 13 00876 g002
Figure 3. Trailer–product and washing matrices.
Figure 3. Trailer–product and washing matrices.
Mathematics 13 00876 g003
Figure 4. CPU(s) analysis with the number of total customers compounded by the fleet size (a). CPU(s) analysis with the number of total customers compounded by the number of time windows (b). CPU(s) analysis with the number of total customers compounded by the number of washing centers (c). CPU(s) analysis with the number of total customers compounded by the number of departure points (d). CPU(s) analysis with the number of total customers compounded by the number of product types (e). CPU(s) analysis with the number of total customers compounded by the number of trailer types (f).
Figure 4. CPU(s) analysis with the number of total customers compounded by the fleet size (a). CPU(s) analysis with the number of total customers compounded by the number of time windows (b). CPU(s) analysis with the number of total customers compounded by the number of washing centers (c). CPU(s) analysis with the number of total customers compounded by the number of departure points (d). CPU(s) analysis with the number of total customers compounded by the number of product types (e). CPU(s) analysis with the number of total customers compounded by the number of trailer types (f).
Mathematics 13 00876 g004
Table 1. Notation of column generation model.
Table 1. Notation of column generation model.
Sets
C set of contracted customers
C set of non-contracted customers
S set of suppliers
W set of washing nodes
D set of departure nodes
G terminal/garage node
J set of vehicle types
O set of trailer types
I o set of departure nodes at which trailer type o O can depart while I o D
H o i j   number of idle vehicles at the relevant departure node for given o O , i I o and j J
K set of feasible routes
A S C for each arc i , j , where i S and j C C , A i , j includes just i , j if ( j , i ) does not exist, otherwise it includes both i , j and ( j , i )
A C W for each arc i , j , where i C C , and j W , A i , j includes just i , j if ( j , i ) does not exist, otherwise it includes both i , j and ( j , i )
P C set of subsets each of which consists of two contracted customers
A U subset of inward arcs for U P C
Variables
θ o i j k binary route variable
Parameters
a o i j k q how many times q C exists in θ o i j k
a o i j k q how many times q C exists in θ o i j k
b o i j k m n how many times an arc m , n takes place in θ o i j k
c o i j k cost of θ o i j k
Table 2. Notation of label-setting algorithm.
Table 2. Notation of label-setting algorithm.
Sets
N set of whole nodes
Variables
v i ,   v i b representation of ith vertex/node during forward labeling and backward labeling, respectively
P F = ( , , , v i ) forward path for v i during forward labeling while using forward arcs
P B = ( , , , v i b ) backward path for v i b during backward labeling while using reverse arcs
θ k , θ k b cumulative time amount until v k and its backward labeling version until v k b in the forward path and backward path, respectively
μ i earliest starting time at v i while having P F = ( , , , v i )
μ i b backward labeling version of μ i at v i b while having P B = ( , , , v i b )
( E i k ) k N indicate whether P F = ( , , , v i ) has visited v k or not so far
E i k , b k N backward labeling version of ( E i k ) k N at v i b while having P B = ( , , , v i b )
ζ i minimum duration for starting at v i while having P F = ( , , , v i )
ζ i b backward labeling version of ζ i at v i b while having P B = ( , , , v i b )
c i ,   c i b reduced cost value of P F = ( , , , v i ) and P B = ( , , , v i b ) , respectively
L i ( ) , L i b ( ) forward and backward label, respectively
Parameters
[ a i , b i ] time windows boundaries of v i during forward labeling
a i b , b i b time windows boundaries of v i b during backward labeling
Table 3. Results of all generated instances.
Table 3. Results of all generated instances.
Number of Time WindowsNumber of Product Types Number of Trailer Types Number of Washing Centers Total Customer NumberNumber of Departure PointsTime (s)Optimality Gap (%)Idle Vehicle Number
24633020660211
24633030680.001504285
246330401540.013464416
246360201920.007409205
246360303040.006892282
246360403580.002384336
2463120208680.000409204
24631203010560.001095250
24631204012910.001936381
24653020700.001042213
246530301500.00543296
246530401730.003775406
246560202310.005543213
246560303350.000714282
246560404320.005336406
24651202010680.000648175
24651203010850.001259282
24651204018540.00038400
24673020810202
246730301540268
246730402090.000136442
246760202610.003445162
246760302930.002451245
246760405000.004101319
2467120208960.001153213
24671203011470.002981278
24671204015880361
26433020380.001683110
26433030860.003185205
264330401030.00774286
264360201500.001646117
264360303010.001703185
264360403780.007842283
2643120207780.000172150
26431203012390.000251184
26431204013180.00192290
26453020770.012292135
264530301190.011543216
264530401620.016198312
264560202290.000325119
264560303930.001269195
264560404310.009255212
2645120208460.00145177
26451203014340.002015219
26451204020140.000335208
26473020860152
264730301690.004965216
264730402090.00317249
264760202680.00387130
264760304890197
264760405580276
26471202010840.000349155
26471203020090.002035176
26471204016730.000583272
34833020790.01133283
348330301150.02052368
348330402090486
348360203200.011837250
348360303620.008242337
348360407230.007918555
34831202016630.003991282
34831203021830.002882348
34831204029840.005002416
348530201090.008376262
348530301650.003161370
348530403000.004484516
348560203580.006682247
348560305050.010832445
348560406490.004283432
34851202021030222
34851203025880.003251424
34851204029990.002644484
348730201490.00176233
348730301900.000787438
348730402630.001167564
348760204100.010249252
348760306420.004233367
348760408960.006561446
34871202018880.000835256
34871203024920.000828324
34871204033290.001285572
38433020790.003928122
384330301520.006709222
384330402610.002199262
384360203060.004119122
384360303360.007213173
384360407490.001538260
38431202017030.005609190
38431203021010.006464214
38431204031140.007332272
384530201730.00079115
384530301740.011344219
384530403630.005943257
384560204410.003685128
384560305940.007789190
3845604011160.01452280
38451202023220.006227148
38451203027410.003363169
38451204034720.005986297
384730201810132
384730302830157
384730403620.001083304
384760207490.020051108
384760308570.005443143
3847604013840.009679252
38471202028110.007037188
38471203033370.004302213
38471204049480.006645304
488730204210.011281271
488730307420.012467400
4887304011360.005035553
4887602018240.010742292
4887603019730.012757380
4887604035020.010559502
48871202086630.005802244
48871203010,6410.008517403
48871204011,4570.004953486
Table 4. CPU(s) analysis compounded by number of total customers, product types, and trailer types.
Table 4. CPU(s) analysis compounded by number of total customers, product types, and trailer types.
Customer Size3060120
Number of Trailer Types468468468
Number of Product Types 4Avg CPU(s) 125175 323541 12062470
Min CPU(s) 6679 192320 8681663
Max CPU(s) 209300 500896 18543329
Number of Instances 99 99 99
6Avg CPU(s) 117 355 1377
Min CPU(s) 38 150 778
Max CPU(s) 209 558 2014
Number of Instances 9 9 9
8Avg CPU(s) 225 766726 24332950 10,253
Min CPU(s) 79 421306 18241703 8663
Max CPU(s) 363 11361384 35024948 11,457
Number of Instances 9 39 39 3
Table 5. CPU(s) analysis compounded by number of total customers, washing centers, and fleet size.
Table 5. CPU(s) analysis compounded by number of total customers, washing centers, and fleet size.
Customer Size3060120
Fleet SizeLMSLMSLMS
Number of Washing Centers 3Avg CP(s) 15913367723412257215317881388
Min CPU(s) 115683872330415012911056778
Max CPU(s) 20926186723749336298431142101
Number of Instances 354165345
5Avg CPU(s) 213196123529603387248022201738
Min CPU(s) 1651097043233522918541085846
Max CPU(s) 3003631746491116594299934722741
Number of Instances 345336336
7Avg CPU (s) 5082591601753828525675434692027
Min CPU(s) 1901498164229326115881147896
Max CPU(s) 11364212833502182485711,45786633337
Number of Instances 555465465
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Emre, T.; Erol, R. A Column-Generation-Based Exact Algorithm to Solve the Full-Truckload Vehicle-Routing Problem. Mathematics 2025, 13, 876. https://doi.org/10.3390/math13050876

AMA Style

Emre T, Erol R. A Column-Generation-Based Exact Algorithm to Solve the Full-Truckload Vehicle-Routing Problem. Mathematics. 2025; 13(5):876. https://doi.org/10.3390/math13050876

Chicago/Turabian Style

Emre, Toygar, and Rizvan Erol. 2025. "A Column-Generation-Based Exact Algorithm to Solve the Full-Truckload Vehicle-Routing Problem" Mathematics 13, no. 5: 876. https://doi.org/10.3390/math13050876

APA Style

Emre, T., & Erol, R. (2025). A Column-Generation-Based Exact Algorithm to Solve the Full-Truckload Vehicle-Routing Problem. Mathematics, 13(5), 876. https://doi.org/10.3390/math13050876

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop