I am working on a solution to generate routes for given set of employees. For given list of employee with lat-lng, my solution generates routes with vehicle capacity.

I am new to VRP and found jsprit to be very useful. So I developed the solution as per my understanding and it's working fine to some extent (I think ) . It generates route but not fully optimized.

It takes around 8 to 10 seconds if number of employees is till 30 but if I give large data set like 300 to 400 employees, it takes 7 to 8 minutes and sometimes it doesn't even respond and it doesn't give proper route also.

I am sharing my code in this thread. Can you help me if i am wrong. I asked few of my friends, they recommended me to switch to OctaPlanner. But before making any decision I just want to see if problem is scale can be solved somehow. May be we might have used wrong approch for the solution. Your insights can be a great help to me.

I am sharing the code written below. It has a method called generateRoutes which takes start location, employeeList, vehicleCapacity and fleetSize. It returns list of routes generated for employees. It internally uses buildVehicle method which returns Vehicle object as per requirement.

Thanks for your post. Would you mind to provide us with the 40 shipment example. It would be great, if it were in jsprit's xml format so that we can just read it. I do not have any experience with OptaPlanner, but I assume it can solve these kind of problems also, and I would not exclude that it can solve certain types of problems better than jsprit does. I just dont know. Therefore, I am very much interested in how one can solve it with OptaPlanner. Thus, if you try to model and solve this in OptaPlanner, it would be great you share the results :D.

BTW: It is always hard to judge the quality of a solver in general. What I did - when it comes to pickup and delivery - is that I solved the benchmarking problems from LiLim and it showed that the solutions are quite reasonable, i.e. not that far away from the best known results. Therefore, it would be great you illustrated why jsprit does not solve your problems reasonably. In this way we can try to make it better.

Hi Stefan,Unfortunately I couldn't prepare the json file since I couldn't clearly understood the structure of it.But I have attached json array of locations in which, each array element contains employee_code, address_lat and address_lng. I have also attached solution generated by my solution which is 2d array containing routes generated.

There are total 165 employees in this json list.I tried on myside, it took around 7 minutes to generate solution and cpu utilization went 85%.I used 50 threads to algorithm(using Jsprit.Parameter.THREADS property).My solution was hosted on EC2(m4.xlarge) with following hardware configuration:Ram: 8GBvCpu: 2Clock Speed: Up to 3.0 GHZProcessor: Intel Xeon family

I am okay with cpu utilization, and if needed, I can upgrade hardware as well. But only problem is time. My client can not wait for 7 minutes. I need to give response within 10 to 20 seconds max.