Vehicle Routing Problem with Multiple Time Windows and Batch Splitting Based on Inferior First Bidirectional Search Algorithm

Considering continuous scheduling and full use of time in vehicle routing problem, we proposed a vehicle routing problem model with multi-time windows based on batch splitting, constructed an inferior-first bidirectional search algorithm (IFBSA) and established a quantitative measurement benchmark of “inferiority level” using Gaussian kernel function. We designed 30 examples based on some actual road network data and chose nearest neighbour search algorithm (NNSA) for comparing. Our results showed that, IFBSA reduced vehicles in 20 examples and got superior results in 23 examples for all examples compared with NNSA.


1.
Introduction In urban distribution businesses, limited by various environmental conditions such as business hours, regional restrictions, temporary traffic control, etc., nodes' service times are not available 24 hours a day, even some nodes are blocked in some area temporarily or long-term for reasons. Usual distribution works need to schedule delivery time of vehicles during these limited time sections, sometimes requiring multiple round trips. Therefore, how to make full use of available service time for nodes and vehicle resources to find some cost-effective and efficient distribution schemes is a practical research topic. Considering time segmentation in distribution and multiple dispatching scheduling, we study how to complete distribution demand efficiently during feasible period of segmentation.

2.
Articles review Vehicle routing problem with multiple time windows (VRPMTW), as a branch of vehicle path optimization problem, has been studied by many scholars. These literature research mainly focused on the problem with one-time distribution. For design of examples, researchers mainly used theoretical node distance simulation based on satisfying triangle inequality, like Solomon [1] for 56 benchmarks. For solving algorithms, Asvin [2] built a long-distance truck driver scheduling problem model based on multi-time windows using large neighbourhood search algorithm, Pesant et al. [3] used constraint programming method to solve multi-time windows TSP problem, Favaretto et al. [4] tried an ant colony algorithm for the VRP with multiple time windows and multiple visits, Peng et al. [5] constructed a hybrid ant colony algorithm and Ma et al. [6] used simulated annealing algorithm for solving VRPMTW problem, Belhaiza et al. [7] made a variable neighbourhood tabu search algorithm to solve problem, Doernera et al. [8] found a heuristic constructive procedure mixed with branch-and-bound method to compute vehicle routing problem with multiple interdependent time windows, Tricoire et al. [9] studied some heuristics for multi-period orienteering problem with multiple time windows, Christiansen et  [10] used a set partitioning approach to solve ship scheduling with multiple time windows. For designing nodes' service time, the main literature's service time can be elastically inside or outside the chosen time window.
However, in some actual conditions, vehicles need to make service time in arriving time window and travel to and from distribution centre more than one time. So, we make a way of completing delivery in the chosen time window, which puts the service time in the time window to ensure nodes can send delivery more reliably and safely. And for the vehicle path setting, vehicle(s) will also be restricted to some extent by one-way or two-way traffic rules. The two-way distances of nodes are not strictly equal to the theoretical distances. Therefore, we propose a distribution optimization problem model based on batch splitting, different distance of two-way distribution, multiple distribution periods and continuous scheduling of vehicles. We call Vehicle Routing Problem with Multiple Time Windows and Batch Splitting, abbreviated as VRPMTWBS.

3.
Problem definition and mathematical model We define VRPMTWBS problem as follows: (1) Time window(s) of each node are known, and only normal distribution is considered; (2) All vehicles responsible for distribution have same capacity, and can be continuously dispatched for distribution services; (3) Service time of distribution centre is fixed, and each time window is within time period that distribution centre can reach and return; (4) Distribution demand and service time of each node are known; (5) Each node needs once and only once delivery service, and only one of node's time window(s) is selected for delivery service. Node's demand is not divided; (6) The first priority goal is to minimize number of vehicles. The second is to minimize total delivery time. The first target has absolute priority compared to the second one.

Variables definition
, represents all nodes, the "1" node in V represents the distribution centre, is customer nodes, and E represents distance arcs set between nodes. The available service time interval of distribution centre is  

Mathematical model
Object function: Subject to: , 12 1, , 12 1, , , ,  (2) and (3) ensure that each non-distribution centre node has to be and can be served by only one vehicle; Constraints (4) indicates that each non-distribution node finally has to and can select only one time window to complete its delivery service; Constraints (5) indicates that the total load of each sub-path cannot exceed capacity of current vehicle; Constraints (6) indicates that start service time of each node must be within node's selected time window; Constraints (7) indicates that the node's cargo handover service must be completed within the node's feasible time window; Constraints (8) indicates that the variables between nodes need to satisfy progressive relationship for time line.

Heuristic Algorithm
Our algorithm is designed in a hierarchical and step-by-step way. The algorithm is called Inferior First Bidirectional Searching Algorithm (IFBSA). All steps are as follows: (1) First node selection The "inferior" nodes are selected to enter path first. The Quantitative measure of nodes' "inferiority" is     =    ； In order to ensure that the time window finally selected is as long as possible, the time window having larger width is preferentially selected for insertion. The first sub-path position that satisfies the condition is inserted into the node, then the insertion time window of the selected node is recorded.
(2) Two-way simultaneous insertion We use a two-way insertion method to allow each time window of each node to have more time elasticity and positional flexibility to enter current path. Starting from first insertion point, we simultaneously calculate forward and reverse phases, until all the nodes that have not entered the construction path are checked. If there are some node(s) worked, the node that increases total service time least is chosen for inserting. Record insertion node and it's time window, then update the node matrix for nodes not inserted. Go to the next cycle and repeat step (2); (3) Insertion failure settings If all the nodes not inserted in the current sub-path fail to being inserted, enter next sub-path, return to step (1) for selecting first inserted node. If some insertions are successful, the bidirectional selection insertion position is also working in the subsequent sub-path, the algorithm repeat procedure until the current sub-path is constructed fully. If current path cannot join new node and there are some nodes not added to the path, start a new path, Route=Route+1; (4) Repeat steps Repeat (1), (2), and (3), until all nodes have joined the path, then our algorithm ends.

5.
Results and analysis Our algorithm runs under condition of 64-bit operating system of Windows 7 flagship edition, Intel 2.40 GHz processor and 8 GB running memory. The results are obtained by programming with MATLAB. Every group of data is computed ten times for better results. The comparing algorithm is Nearest Neighbourhood Searching Algorithms (NNSA). After comparing, we finally choose 4 S as the best i  scale. The results of IFBSA and NNSA are shown in Table 1.  Table 1 showed that, IFBSA algorithm had fewer vehicles in 20 cases. In other nine examples obtained same number of vehicles, three of which have less total delivery time. Number 5A example was the only one which has vehicles more than NNSA. IFBSA algorithm obtained dominant results in 23 cases out of 30, accounting for about 76.7% in all results. In addition, under the same conditions, IFBSA algorithm and NNSA algorithm both show that the increase of upper number of time windows has a significant impact on outputs. Especially in the short-time window example of 1A-1C to 2A-2C with the upper number from 1 to 2, the number of reduced vehicles in IFBSA algorithm and NNSA algorithm are 11, 7, 3 and 12, 7, 3, respectively. When the upper number time windows in the same group is constant, the wider the single time window is, the better the output is. However, as the time window width increases, the influence of time window width is gradually reduced.

6.
Conclusions In this paper, actual road network is used as source of the matrix data of examples, service times are considered in nodes' time windows, and feasible continuity of continuous scheduling too. Based on above three points, VRPMTWBS is made, and IFBSA algorithm is created to solve it. The validity of the algorithm is verified by constructing a numerical example. The results show that, compared with NNSA algorithm, IFBSA algorithm propose outperforms NNSA algorithm in more than 76% of examples, and its vehicle number advantage is obtained in 20 examples. We also see some significant impact on delivery target by time split location.