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.
Customer points should be visited at most once.
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 subproblems, each of which is based on a given trailer , a given departure node for that trailer, and a given vehicle type 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 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
, where
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,
for each node
. Because vehicles can leave the departure node later, let
be the latest feasible start time from the departure node. The latest feasible start time can be written as follows:
where
is the cumulative time and always updated with
while
. Arc travel times from
to
are depicted as
, whereas
is the process time at
. Additionally, the earliest feasible start time at node
can be calculated as
. When the forward path
is in existence, the minimum duration for starting at
, which is defined as
, takes place while the vehicle employs the latest feasible start time from the departure node, which is
.
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 is employed for , where is the set of whole nodes in the problem. If the partial path has visited customer node , then 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 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,
also can be expressed as
, where
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,
where
is the dual variable for contracted or non-contracted customer visiting constraints coming from (2) and (3),
is the dual variable for k-path (k = 2) inequalities (5),
and
are dual variables of the relevant arc flow constraints (6) and (7), respectively,
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
can be written as
. Here,
is the constant dual variable corresponding to
for a given
originating in constraint (4). Recall that each subproblem in our study corresponds to a given
, and the network belonging to that subproblem is being taken into account to generate promising routes.
During the extension of label to node
,
is obtained using the following label-updating procedure:
When
for a customer node
, then
is eliminated. For washing and supply nodes,
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
is extended to create a new label
, the elementarity resource
is set to zero for
∉
, where
is the predetermined ng-set for node
. 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
, then
is eliminated again. Additionally, the forward label is initialized as
for the relevant departure node at the beginning. It must also be noted that forward extension from
is happening for each time window of
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
, due to symmetry, where
is the garage node. Also, using a sufficiently large enough positive constant
M, the time window
for each node
becomes
during backward labeling. For example,
can be taken as
, where
is the travel time from node
to garage node
(which is
at the same time),
is the time window index (recall that customer and supply points’/nodes’ multiple time windows are on daily basis), and
is the upper bound of
time windows for a given node
. 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,
, where
. In short,
can be expressed as
, where
is the reduced cost of the partial backward path. During the extension of label to node
using the reverse arc
,
is obtained using the following label-updating procedure:
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
and
, the following dominance rules (24)–(29) make
more dominant compared to
regarding the forward labeling:
Thus, whenever and are extended to same node for a specific time window of that node using extension Equations (12)–(17), then , , , , , for all are obtained regarding and . 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],
becomes a critical resource and forward label
can be extended to node
, having a new forward label
when
. 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
and backward label
, which correspond to the same node, can occur under the following conditions:
Thus, after suitable concatenation, the column is generated, and it is added to the RMP.