The Two-Echelon Vehicle Routing Problem