We use a local search method we term Large Neighbourhood Search (LNS) for solving vehicle routing problems. LNS meshes well with constraint programming technology and is analogous to the shuffling technique of job-shop scheduling. The technique explores a large neighbourhood of the current solution by selecting a number of customer visits to remove from the routing plan, and re-inserting these visits using a constraint-based tree search. We analyse the performance of LNS on a number of vehicle routing benchmark problems. Unlike related methods, we use Limited Discrepancy Search during the tree search to re-insert visits. We also maintain diversity during search by dynamically altering the number of visits to be removed, and by using a randomised choice method for selecting visits to remove. We analyse the performance of our method for various parameter settings controlling the discrepancy limit, the dynamicity of the size of the removal set, and the randomnessof the choice. We demonst...