algorithm.searchSolutions() not maxing out CPU

Hello Luke,

check out Using multiple threads to run algorithm

Basically, you need to do something like:

VehicleRoutingProblem.Builder problemBuilder = VehicleRoutingProblem.Builder.newInstance();
// Create your problem using problemBuilder
// ...
VehicleRoutingProblem vrpProblem = problemBuilder.build();
Jsprit.Builder algorithmBuilder = Jsprit.Builder.newInstance(vrpProblem);
algorithmBuilder.setProperty(Jsprit.Parameter.THREADS, "4");

Please note that specifying a number of threads will only max out your CPUs if there are multiple routes in your solution, otherwise the multi-threaded version might become slower than single-threaded! Read more about this here: Why Multi Threading slower than sequential?