I am solving the CVRP with Adaptive Large Neighborhood Search (ALNS) .

I used the following construction operators: GreedyInsertion and regretHeuristique, and the following destruction operators: relaxShawDeletion , RoutePortionOperator, and LongestDetourOperator.

But the solutions I get are very far from the solutions that are in the literature.

Do you have an idea on how I can improve the solution? Are there any other operators that give better solutions?

  • $\begingroup$ Are you trying to implement the exact same algorithm as one from the literature? Here is a recent LNS algorithm for the CVRP, you might find some inspiration doi.org/10.1287/trsc.2019.0914 $\endgroup$
    – fontanf
    Mar 1, 2021 at 19:55

1 Answer 1


We encourage you to look at the code of jsprit, the open-source Java vehicle routing library. The jsprit approach is based on a "ruin & recreate" heuristic, also known as Adaptive Large Neighborhood Search (ALNS). The operators can be found here in the folders "ruin" and "recreate" respectively.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.