OptaPlanner is the leading Open Source Java™ engine to optimize the Vehicle Routing Problem, the Traveling Salesman Problem and variants.
OptaPlanner is a lightweight, embeddable planning engine. It works with your domain classes and your custom constraints (which can reuse existing code). There’s no need to input difficult mathematical equations. Under the hood, OptaPlanner combines sophisticated optimization heuristics and metaheuristics (such as Tabu Search, Simulated Annealing and Late Acceptance) with very efficient score calculation.
Many enterprises face a vehicle routing problem daily: determine the optimal order to deliver a number of items to number of locations with a fleet of vehicles. They face this problem to restock their shops, to deliver products/services to customers, to fulfill maintenance on their devices, …
OptaPlanner scales out on the Vehicle Routing Problem thanks to incremental score calculation, nearby selection, shadow variables and - of course - advanced construction heuristics and metaheuristics.
As demonstrated in the web examples, integration with Google Maps or OpenStreetMap is straightforward: