Input: The datasets of customer and facility information including location, time window, demand, and other relevant parameters |
Output: The initial feasible solution |
(1) | Step 1: Mark the initial distance saving values with numbers 1, 2, 3, …, (n-1) |
(2) | Step 2: Assign vehicles to each customer |
(3) | Step 3: Calculate the distance savings of new vehicle routes, which are formed by any two routes |
(4) | Step 4: Sort the distance savings in descending order |
(5) | Step 5: If new vehicle routes meet the time window and capacity constraints, then go directly to Step 6; otherwise set n=n+1 and return to Step 5 |
(6) | Step 6: Generate a new vehicle route with two vehicle routes whose distance savings are maximum |
(7) | Step 7: Update the distance savings value through the fusion of vehicle routes |
(8) | Step 8: Generate new vehicle route with two vehicle routes whose distance savings are maximum |
(9) | Step 9: n = 1 |
(10) | Step 10: If new vehicle routes meet the time window and capacity constraints, then go directly to Step 11; otherwise, return to Step 7 |
(11) | Step 11: n = n+1 |
(12) | Step 12: Generate new vehicle route with two vehicle routes whose distance savings are maximum |
(13) | Step 13: If there exists a route that serves only one, then go back to Step 7; otherwise enter Step 14 |
(14) | Step 14: Output the service route of each vehicle |