Solution Strategy for One-to-One Pickup and Delivery Problem Using the Cyclic Transfer Approach

One-to-one Pickup and Delivery Problem (PDP) with loading constraints is studied. Mathematical model is presented using combinatorial configurations approach for pickup and delivery and the phi-function technique for loading constraints. Two-stage solution strategy is used. The first stage has two levels: a) clustering the set of pickup and delivery points regarding to the set of vehicles and b) solving the PDP problem with 3D loading constraints for each vehicle within the appropriate cluster. The second stage improves the solution found at the previous stage and is based on the cyclic transfer approach and cyclic permutations. Computational results are presented to support efficiency of the approach.


Introduction
Vehicle routing problem (VRP) has different applications in logistics management and the list of references on VRP is quite extensive (see, e.g. [1]- [6]) and the references therein). Although different classes of VRP correspond to various practical situations, all of them aimed at efficient use of a fleet of vehicles to serve customer needs.
Along with routing vehicles, the real-world transportation includes loading vehicles. One of these integrated problems was introduced in [7] and is referred to as the capacitated vehicle routing problem (CVRP) with three-dimensional (3D) loading constraints (3L-CVRP). In 3L-CVRP a customer requires transporting a number of parallelepipeds (boxes) characterized by their 3D rectangular loading spaces and weights. Note, that in the classical CVRP only weights of the boxes are taking into account. The up-to-date state-of-the-art in modeling and solution techniques for integrated vehicle routing and loading problems one can find in, e.g., [8], [9].
In Pickup and Delivery Problem (PDP) a customer requires to pick up units at one location and deliver to another (see, e.g., [10]- [13]). This problem arises, e.g., in urban courier services and door-to-door transportation systems (see, e.g., [14]).
In PDP the fleet of vehicles have to serve transportation requests between origins (pickup points) and destinations (delivery points). Every route has to start/finish at a certain depot and must satisfy pairing and precedence constraints: the origin should precede the destination while every pickup-delivery pair has to be visited by the same vehicle.
In this paper a mathematical model for PDP with 3D loading constraints is formulated using the concept of the combinatorial sets (see, e.g., [31]). A new approach to improve the local solution is presented based on the cyclic transfer theory presented in [32] and the cyclic permutation concept (see [33] and [34] for details).

Problem formulation
The classical PDP on the complete graph ( , ) G V A = is considered in [35]. Therein V is the set of all vertices, {0,1,..., 2 1} V n = + ( 0 and 2 1 n + correspond to the depot) and A is the set of all arcs. It is assumed that every arc ( , ) i j is equal to the arc ( , ) j i and can be replaced by one edge (symmetric case).
The fleet of N vehicles is available. Each vehicle has a cuboidal loading space defined by its width W , height H and length L , as well as the weight capacity Q . The transportation request consists in pickup or delivery of a cuboidal unit of width i w , height i h and length i l with total weight i q ( i q is positive for pickups and is negative for delivery points).
The following 3D-constraints have to be fulfilled for loading vehicles: 1. Inside a vehicle the units can only be placed orthogonally. That is, they can be rotated by 90°o n the width-length plane. 2. The unit has to be placed on the vehicle floor or on top of another unit. In the latter case the superior unit has to be completely supported by a lower one. 3. The units have to be easily unloaded at the delivery point, namely: • the unit A is allowed to be arranged under the unit B if the projection of the base of A belongs to the projection of the base of B. The unloaded unit can not be stacked under other units in the vehicle; • the unloaded unit can not be blocked by the units assigned to clients that will be visited later.
The objective is to find N routes (one per vehicle) such that: each route begins at the depot, visits all clients and ends up at the depot; each client (i.e., pickup and delivery point pair) is served by the same vehicle; total weight of transported units does not exceed the vehicle capacity; units are loaded in the vehicle to satisfy the 3D constraints; the total cost of N routes is minimized.
Let N be the number of vehicles.   Solution Strategy for One-to-One Pickup and Delivery Problem Using the Cyclic Transfer Approach is the route of the vehicle j; ( , ), To state analytically the placement constraints for the problem the concept of phi-functions is used (see, e.g., [36]- [40]).
The mathematical model of the One-to-One PDP with 3D loading constraints can be presented in the form where 2 1 W is a feasible region defined by the system of the following constraints: In the problem (1) is the phi-function to describe non- The inequality ( , , , ) 0

Solution strategy
We propose a solution strategy that involves two related stages. The first stage involves two levels: clustering the set of pickup and delivery points regarding to the set of vehicles (upper level); solving the PDP problem with 3D loading constraints for each vehicle within the appropriate cluster (lower level). The second stage improves the solution found at the previous stage using the cyclic transfer approach. The latest employes the cyclic permutations.

Two-level strategy for the Stage 1
Upper level -clustering the set of pickup and delivery points regarding to the set of vehicles. At the upper level the set C is divided into N clusters 1 2 , ,..., N C C C using the k-means algorithm introduced in [ Lower level -solving the PDP problem with 3D loading constraints for each vehicle within the appropriate cluster. For each cluster j C the route of the vehicle j for all pairs ( , ) combinatorial configuration, called the composition of permutations, is introduced in [42].
To search for the optimized route for the vehicle j, a permutation j π ( ) j P V ∈ minimizing the objective (1) has to be found.

Exact algorithm for the lower level
The algorithm proposed in [43] for generating We denote the first i vertexes of the route t, called an incomplete route, The following constraints for i S have to be fulfilled for each PDP route: the vertex repetition in i t is not allowed; for each pickup-delivery pair a vehicle should visit the pickup point before the corresponding delivery point; the next unit will be loaded into the vehicle and 3Dconstraints have to be monitored if a) 1 i t + is a pickup vertex, b) constraints (2) are provided for 1 i t + . The algorithm allows the unit rotation in the widthlength plane for the packing (see [44] for details).
The algorithm produces a recursive tree. Each node of the tree corresponds to incomplete route at the level 2 1 i n < − and each node of the tree corresponds to complete routes at the last level 2 1 i n = − .

Heuristic algorithm for the lower level
To manage recursive tree, the beam search heuristic proposed in [45] can be applied. Beam search heuristic introduced in [46] is an adaptation of the branch and bound algorithm where only some nodes of the search tree are evaluated. Only the promising nodes of the current level of the tree are kept for further branching and remaining nodes are pruned off permanently. Beam search heuristic employs evaluating nodes for solving the problem (1)- (3). The evaluation of each node is associated with extending the incomplete route to the complete with the points from the set i S . Firstly, some predefined "best" elements from i S (called beam width) are taken into account for further construction of the tree and elimination of the rest part of the elements of i S . For the purpose of the paper the modification of the heuristic is used making the beam width a relative value by taking a certain percent of tree nodes. This approach is referred to as a relative beam width (RBW).
Let us consider the key idea of the beam search heuristic algorithm.
Step 1: Range elements from the set i S by ascending the distance between each point and the last node of the current incomplete route or the depot, if i=0.
Step 2: Set predefined parameter RBW. Take a collection of promising nodes for the current level of the solution tree employing recursively the algorithm for the first X% of elements from the set i S , where X =RBW. The rest part of the nodes are pruned off.
Step 3: Verify 3D constraints (3) for the last level 2 1 i n = − of the solution tree.

Stage 2. The cyclic transfer approach
In this section we propose the approach that is able to improve the solution of the One-to-One PDP with 3D loading constraints found at Stage 1. The approach is based on the cyclic transfer theory and the cyclic permutation concept. We give an overview of the basic results that will be used for the further presentation of the theory of cyclic transfers, according to the works [32] and [47]. When using cyclic transfers in combinatorial optimization methods, the solving process is divided in two stages. At the first stage the initial partition of the problem data set into clusters is found (see, e.g., [41], [48], [49]) to search for initial solution of the combinatorial optimization problem. The initial partition can be determined depending on the constraints of the problem, for example, on the number of vehicles in routing problems VRP or PDP. The effectiveness of the initial solution is estimated using the objective function of the combinatorial optimization problem. In the framework of the theory of cyclic transfers, the cost of the solution, which is minimized, is considered as the efficiency factor. The second stage is aimed to improve the initial solution using the concept of cyclic transfers. A cyclic transfer is a cyclic permutation of some selected elements of the clusters. The choice of elements from the appropriate clusters for the cyclic permutation (forming a cyclic transfer) is a nontrivial problem.
The difference between the cost of the initial solution and the cost of the solution obtained by applying the cyclic transfer is considered as the cost of the cyclic transfer. If the new solution has a lower cost than the initial solution cost then the corresponding transfer is EAI Endorsed Transactions on Energy Web 03 2020 -05 2020 | Volume 7 | Issue 27 | e5 5 called a cyclic transfer of negative value. The employing a cyclic transfer of negative value corresponds to the exchanging the choosing elements between appropriate clusters. That leads to improving the initial solution. Thompson and Orlin in [32] developed a general neighborhood search method using cyclic transfers. This method is based on replacing the search for a cyclic transfer of negative value by the search for an acceptable cycle of negative value in the auxiliary graph (see [47] for details). The auxiliary graph is constructed from the elements of the problem data set, which form the set of vertices of the graph. The edges of the auxiliary graph connect only the vertices that correspond to elements belonging to different clusters of the initial partition. The cost of each edge (i, j) of the auxiliary graph is determined by changing the cost of the problem solution while element i is removed from the corresponding cluster and element j is added to this cluster. An acceptable cycle of negative value found from the auxiliary graph corresponds to the transition from the current solution to the "neighbor" solution. The cost of the cyclic transfer is equal to the cost of the corresponding acceptable cycle in the auxiliary graph. In some cases it is impossible to estimate the cost of the edges and the cost of the cycles in the auxiliary graph and therefore the cost of the corresponding cyclic transfers.
We propose a general solution strategy using cyclic transfers that can be employed to the One-to-One PDP with 3D loading constraints. It is considered as a modification of the approach introduced in [32].
Let us consider the key idea of the strategy. From each of the chosen clusters an element is selected to be exchanged with one of the selected elements from the other clusters based on the problem data set analysis. The selected cluster elements are considered as the generating elements of the cyclic permutation set. Each cyclic permutation corresponds to the cyclic transfer. The cyclic permutation set describes all possible cyclic transfers for the selected elements.
The resulting cyclic transfers are applied to the initial partition to clusters (initial clusterization). A new solution of the initial problem for each cyclic transfer is obtained in the neighborhood of the initial solution.
The problem is solved for a new partition into clusters. Then the increasing or decreasing of the solution cost is evaluated. Thus, a set of new solutions are obtained. The cardinality of the set corresponds to the power of the cyclic permutation set. The best solution is selected which is considered as a step of our iterative procedure. The best solution is taken as the initial clusterization for further steps. We stop our procedure according to some criteria (e.g. time limit, accuracy, efficiency improvement).

The combinatorial optimization problem
Let us consider the following combinatorial optimization problem: where E be combinatorial set in a combinatorial space : F E R → , and the set D is described by a system of constraints on variables x E ∈ . To solve problem (4), we apply a strategy using the cyclic transfer approach. Let We construct a set of index set n J . Based on the definition a cyclic permutation is a permutation of n elements of the set A such that it contains a unique cycle of length n (see [33] for details).
At the first stage of the cyclic transfer approach, the initial partition of the set E into clusters is formed Problem (5) is solved by an appropriate combinatorial optimization method (see, e.g., [50]). The process of changing the initial clusterization and solving the problem (4) using cyclic transfers on new partitions can be repeated. In order to search for a cyclic permutation i p from the set 0 ( ) c n P A , such that the corresponding cyclic transfer will provide improving the best solution found for the partitions 1 ( ) i E p , we formulate the following combinatorial optimization problem on the set of cyclic permutations : The solution of the problem (6) depends on the properties of the set of cyclic permutations that are studied in [51], [52]. Solution algorithms of the problem (6) are developed in [53] for the linear function Step 8: Perform a cyclic transfer of selected pickup and delivery pairs between cluster elements, which is described by a cyclic permutation i p . Get a new partition Step 9: Solve the problem min Step 10: Step 11: If computing resources allow and do not iterate over all elements of the set 1 ( ) c k n P A − , go to step 6, otherwise goto step12.
Step 12: Set * x , * F as the problem solution.
Two heuristics were used to select pairs of pickup and delivery vertices ( , )

Computational experiments
To improve the solution obtained in Section 3 the algorithm for changing the initial data partition of the PDP is incorporated in the software package [54].
The following procedures are implemented: selecting elements that will be "moved" between the clusters; constructing a generating set for the set of the cyclic permutations; applying cyclic transfers corresponding to the elements of the set of cyclic permutations; solving the PDP on alternative partitions; finding the best value of the objective function.
Computational experiments for 3, 4, 5 N = clusters were performed to demonstrate efficiency of the proposed approach. The number n of pickup and delivery pairs was varied from 15 to 50. For a small number of vertices and for 3, 4 N = clusters the search beam width of 5% is taken (see Subsection 3.1, Heuristic algorithm for the lower level). Increasing the dimension problem results in a drastic increase of CPU time (the width of the search beam was reduced to 1%).
Results of the computational experiments are provided in Tables 1-3. The following notations are used: n is the problem dimension (number of pickup-delivery pairs); SR (success rate) is the percentage of problems with a reduced objective obtained by application of cyclic transfers; AVG (Cost) is the average value of the objective decreased by the cyclic transfer approach for all problems of the given dimension; AVG (Benefit) is the average value of the decreased objective; Benefit% is the ratio between AVG (Benefit) and AVG (Cost); RWB is the width of the search beam.  As follows from the tables for n between 15 and 50 the objective function decreased in the range from 5 to 9%.

Conclusions
A new mathematical model for the one-to-one Pickup and Delivery Problem with 3D loading constraints was considered. In contrast to boolean variables used in most mathematical models, it is based on combinatorial configurations.
The proposed algorithm provides a reasonable balance between the CPU time and the solution quality. By changing the way of forming the set i F and the rules of "expanding" the solution tree nodes, the algorithm can be easily adapted for various combinatorial optimization problems.
By cyclic transfers the solution of combinatorial optimization problems on cluster data was improved for the cases when it is impossible to construct an auxiliary graph. The algorithm uses cyclic permutations to form cyclic transfers and search for the best negative value cyclic transfer. An alternative strategy to form negative value cyclic transfers is developed. It is based on the properties of multiple cyclic permutations. Heuristic rules for selecting elements to be moved between clusters are described.
The proposed strategy is implemented on PDP routing problems. The results of computational experiments show the efficiency of the proposed strategy.
An interesting direction for the future research is estimating the loss of optimality arising due to clustering [55,56]. Considering pickup and delivery problem as a part of an integrated supply chain system is also an interesting and challenging problem [57].