T. Achterberg, Scip: Solving constraint integer programs, Mathematical Programming Computation, vol.1, issue.1, pp.1-41, 2009.

. , Initializê z = 0, SOL = ? and ?(i) = 0, and ?i ? V

, Extract a subset of routes SOL ? ? R. Let * be the route of?Rof? of?R where??where? where?? * = max{??max{? max{?? : ? ? R}

, If ?(i) = 0, for some i ? C( * ), then update SOL = SOL ? { * }, ?(i) = ?(i) + a ii , ?i ? C( * ), and ?(i) = ?(i) + a ii , ?i ? V F (R * )

, ?i ? V , accordingly. For each ? SOL, compute the savings that can be achieved by removing from route every customer i ? C( * ) having ?(i) > 1. Let * ? SOL be the route of maximum saving. Remove from route * every customer i ? C( * ) with ?(i) > 1, and update ?(i), from SOL any route ? SOL such that ?(i) > 1, ?i ? C( * ), and update ?(i)

, of customers assigned to every facility i ? V F (R * ) having ?(i) > 1. Let * be the route having the minimum ?() value. Remove from route * every facility i ? V F (R * ) with ?(i) > 1, update ?(i), and ?(j), ?j ? V C , accordingly. Repeat step 3.b until ?(i) ? 1, for each i ? V F. c) For each ? SOL, remove any facility i ? V F (R ) with ?(i) = 1 and without customers assigned to it

, Compute the minimum extra-cost exc(i, ) for inserting i in route ? SOL without considering assignment of i to facilities in V F (R )

, ?, then set?zset? set?z = ? and stop; otherwise, insert customer i in route * in the position of cost exc(i, * ) and set ?(i) = 1

, Define the vrptf solution ?. Define ? = 1, for each ? SOL, and ? = 0, for each ? R \ SOL

, Locally optimize solution ? by iteratively applying the two re-optimization procedures Squeeze and LS-multiple used also for the constructive heuristic