How to group multiple stops while optimizing routes

A quick intro to grouping stops together on a route for use cases ranging from food delivery to courier services and beyond.

Grouping stops is particularly useful when you know that you want to service one or more stops together on the same route but want the Nextmv solver to determine the best vehicle and order for those stops. The stops may be located in the same building or neighborhood – or maybe you have other business logic or use cases that require them to be serviced by the same vehicle. 

How are stops commonly assigned?

In route planning, stops are sequenced in the order that returns the shortest distance or the least amount of time spent on the road. In route optimization, we go a step further and add in logic to match your business rules, like visiting stops in a certain order to account for a pickup vs. a dropoff or assigning stops to specific types of vehicles to account for capacity, accessibility, and compatibility. These optimization constraints are often used in conjunction with one another.

Pickup and delivery precedence for stops and vehicles

A common approach for sequencing stops is using precedence. In delivery scenarios, the pickup stop needs to be serviced before the corresponding dropoff stops. In sourcing scenarios, the dropoff needs to be serviced after any pickup stops. Our precedence (and succedence) constraint ensures stops are visited in the appropriate order.  

Compatibility attributes for stops and vehicles

Stops can be coordinated with specific vehicles based on compatibility attributes. This constraint matches stops with vehicles that are capable of servicing them. For instance, if a stop requires a pickup of frozen goods, the vehicle servicing the stop must have a freezer compartment. 

Vehicle capacity and stop quantity

Stops are assigned to vehicles that have the required capacity. This is handled by the capacity constraint which denotes the vehicle’s total capacity and then tracks the vehicle’s capacity while items are picked up and dropped off. If 10 pallets need to be picked up at a stop, only vehicles with at least a 10-pallet capacity can be assigned to service it.

What are grouped stops? 

Creating grouped stops is different than using either precedence or compatibility attributes. While precedence allows you to determine stop sequence and adding compatibility attributes helps the solver make vehicle assignments, grouping stops allows you to explicitly define which stops should be serviced by the same vehicle on a single route. This means that if we group ‘stop-1’, ‘stop-2’, and ‘stop-3’ together, all three stops will be assigned to the same vehicle’s route.

A few key things to remember about grouping stops: 

  • Groups can be made up of two or more stops
  • Grouping stops does not force them to be visited in a specific order (that’s why precedence/succedence matters)
  • Grouping stops does not assign the stops to a specific vehicle (this is where compatibility attributes come in)

Here’s what an example of grouping looks like:


...
"stops": [
       {
           "id": "location-1",
           "position": { "lon": -96.827094, "lat": 33.004745 }
       },
       {
           "id": "location-2",
           "position": { "lon": -96.86074, "lat": 33.005741 }
       },
       {
           "id": "location-3",
           "position": { "lon": -96.820915, "lat": 32.969456 }
       },
       {
           "id": "location-4",
           "position": { "lon": -96.695259, "lat": 32.921629 }
       },
       {
           "id": "location-5",
           "position": { "lon": -96.785178, "lat": 32.981014 }
       },
       {
           "id": "location-6",
           "position": { "lon": -96.847693, "lat": 32.891106 }
       },
       {
           "id": "location-7",
           "position": { "lon": -96.915799, "lat": 33.049597 }
       }
   ],
   "stop_groups": [
       ["location-2", "location-3"],
       ["location-4", "location-5", "location-6"]
   ]
...


When would I want to group stops?

You can create your own groups for whatever situation applies to your business needs – from multiple deliveries in the same building to pickups in the same industrial park and more.  Below are a few specific examples. 

Apartment/office deliveries 

Imagine a high-rise apartment building in Chicago. Let’s say that 5 residents in the building have ordered food from your delivery service to be delivered at 6pm. Rather than having 5 different vehicles from your fleet service the individual apartments within the building, you may want some or all of them to be handled by one vehicle. You can create a group of stops so all the stops in the building are handled on the same vehicle’s route.  

Real-estate management

Imagine a building that rents out office space to local businesses. Let’s say 5 of those office locations have requested plumbing maintenance. Rather than having multiple workers go to the building, you can group two or more of those stops together to make the most of your team’s time.

Airport pickups

Imagine a regional airport with offsite car rentals. Let’s say that there are 5 folks who have requested a shuttle pickup from the north terminal at 1pm from RentThatCar company. It would probably be inefficient to send multiple shuttle vans to pick up each individual customer. Grouping those stops together saves time and increases customer satisfaction.

Neighborhoods/clusters of stops

Imagine a subdivision or industrial park with a cluster of buildings. Let’s say that 5 offices in those buildings have packages that need to be picked up by your courier service. Instead of having multiple vans go to pick up those items, you can group the stops together to ensure that they’re assigned to the same van.

Get started 

Ready to see what Nextmv can do? Try grouping stops for free on Nextmv Cloud.


Video by:
No items found.