I built a solution that leverages the esri ArcGIS Online VRP solver years ago. We are trying to use the solver to balance out the work, and spread the amount of revenue each truck would generate while still keeping in mind that everything needs to be done on time.
-We have 50 Drivers
-At 4pm on a Monday we have 120 orders booked (2 paired stops each) 240 stops total for Tuesday.
-We know that there will be approximately an additional 200 orders (400 stops total) booked throughout Monday evening in throughout the day Tuesday.
-If the optimizer looks at only the 120 orders it will think 10-20 of our drivers can easily get everything done on time for the day and it will leave the rest of the drivers idle.
-We know that by 8am the following morning we will likely have at least another 50 order booked.
-In order to get all 320 orders done, we need most if not all of our driver starting to do pickups before 8am in the morning to get a jump on the orders that have already been booked.
-We have tried putting in a sample of 200 fake orders that are ready later in the day, but depending on where all the orders are, the optimizer might still leave 5-10 drivers doing nothing.
-We plan to have capacity for 400 orders (Each driver should be able to handle 8 orders/16 stops) on a busy day, but in order to keep all those drivers, we have to give them all a balanced amount of work each day.
1-priority #1 should be to get all orders done on time.
2-priority #2 should be to spread the work as much as possible
3-priority #3 should be to optimize the routes so each driver is driving as few km and working a few hours as possible.
-We realize #2 and #3 are somewhat contradictory in nature – so a way to find a balance between these items would be ideal.
Not sure why esri does not have a "minimum stops per route" setting . We really think this would help to balance out the work. Esri has all of the maximum values for KM/Hours/Stops per route, if they could augment it to take a range, instead of a ceiling – that would likely give us a much more balanced solution.
Please share your thoughts on how the vrp solver can be used in similar scenarios to spread the amount of revenue each truck would generate while still keeping in mind that everything needs to be done on time. Is their a way to achieve this goal ? Are there any plans to add a minimum number of stops per route ?
Something you might try to get all of the routes to be used in the first solve is to set the MaxOrderCount just over the value of (total known orders)/(Number of vehicles). So in your above example you know you will have 240 stops and 50 drivers which when divided would be 4.8 stops per route. However, since you are using order pairs round that up to 6 and this should activate most if not all of the routes and it gives some flexibility for some routes to use the full 6 orders and others only have 4 to help with the optimization.