Research Article

A Three-Stage Saving-Based Heuristic for Vehicle Routing Problem with Time Windows and Stochastic Travel Times

Algorithm 2

The procedure to construct an initial solution.
(1) Set savingList = , Solution = ;
(2) While at least one of customers has not been included in Solution, do:
(3)  Calculate the savings for all pairs of customers that can be directly connected, insert
     all the savings into savingList;
(4)  Fetch a saving, denoted as Sav, from savingList according to the roll-up evaluation
     strategy which is detailed in Section 3.3;
(5)  Connect the two routes that are corresponding to the two customers in Sav, so that a
     new route can be obtained;
(6)  Insert the new combined route into Solution and delete the route that is
     corresponding to the two customers in Sav from Solution if it has been included in Solution;
(7) Clear savingList;
(8) Endwhile;
(9) Return Solution.