Distribution centers (DCs) typically receive orders from the customers (mostly retail stores) located in their vicinity and deliver the ordered goods the next day morning. To maintain high item fill rate, DCs have to hold a high level of inventory, which will increase inventory cost. As an alternative, cross-filling is that, after closing the daily order receipt, DCs exchange surplus items during the night to reduce the shortage. The economic justification of such cross-filling will depend on the tradeoff between extra transshipment and handling cost versus saved shortage cost. In this paper, as an extension of Rim and Jiang, 2019, vehicles are allowed to drop and pick up items at the intermediate DCs in the route. We present a genetic algorithm to determine the routes and amount to pick up/drop at each DC to minimize the total cost.