The Value of Preemptive Pick-Up Services in Dynamic Vehicle Routing for Last-Mile Delivery: Space-Time Network-Based Formulation and Solution Algorithms
Algorithm 1
Generate initial routing plan
Step 1: Initialization
Initialize time
Initialize iteration number
Initialize Lagrangian multipliers for iteration 0
Initialize penalty factor
Set the best lower bound estimate
Set the best upper bound estimate
Set the origin node for each vehicle k, depot
Set the destination node for each vehicle k, depot
Step 2: Solve problem 2-b
Use dynamic programming algorithm to solve problem 2-b for each vehicle k sequentially. During this process, update the cost for each space-time arc before optimizing each vehicle’s route.
Step 3: Generate upper bound estimate
Step 3.1: Obtain a feasible solution for problem 2-b
Adopt the optimal routing solution in Step 2
For each request node
If the request node is not served by any vehicle
then designate a virtual vehicle to this request node and add penalty.
If the request node is served more than once
then designate one specific vehicle to this request node.
End for
After the above adjustment, the optimal solution in Step 2 now becomes a feasible solution and then local upper bound estimate can be computed at iteration n.
Step 3.2: Generate best upper bound estimate
Step 4: Generate lower bound estimate
Step 4.1: Solve problem 1-b
Use dynamic programming algorithm to solve problem 1-b for each vehicle k in sequence and obtain the optimal solution .
Step 4.2: Generate best lower bound estimate
Calculate local lower bound estimate at iteration n as
Generate best lower bound estimate
Compute the relative gap between and ,
Step 5: Update Lagrangian multipliers and penalty factors
Step 5.1: Update Lagrangian multipliers
Step 5.2: Update penalty factor
Step 6: Terminal Condition
If the iteration number > maximum iteration number or the value of the relative gap < a boundary toleration value ,