In this article, we solve the pickup and delivery problem with time windows and last-in-first-out (LIFO) loading. LIFO loading minimizes handling while unloading items from the vehicle: the items are loaded according to a linear stack structure, and an item can only be delivered if it is the one on top of the stack. Three exact branch-price-and-cut algorithms are available for this problem. These can solve instances with up to 75 requests within one hour. We propose a population-based metaheuristic capable of handling larger instances much faster. First, a set of initial solutions is generated with a greedy randomized adaptive search procedure. For each of these solutions, local search is applied in order to first decrease the total number of vehicles and then the total traveled distance. Two different strategies are used to create offspring. The first selects vehicle routes from the solution pool. The second selects two parents to create an offspring with a crossover operator. For both strategies, local search is then performed on the child solution. Finally, the offspring is added to the population and the best survivors are kept. The population is managed so as to maintain good quality solutions with respect to total cost and population diversity. Computational results on medium to large instances confirm the effectiveness of the proposed metaheuristic.
Published September 2014 , 22 pages