You are viewing Nextmv legacy docs. ⚡️ Go to latest docs ⚡️

Decision Stack


Overview of engines in the Nextmv decision stack.

There are a number of common, recurring patterns in decision automation. For instance, there are well studied, high performance techniques for routing drivers, assigning work, or scheduling labor.

Engines are Nextmv's implementations of high-performance algorithms that handle common tasks. These can be used directly or as components in your own decision models similar to plugin architectures.

We're committed to best-in-class modeling components based on the latest academic and industry research. Currently, we provide components that do the following:

  • Cluster groups items based on k-means or nearest neighbor similarity
  • Pack assigns work to a resource based on constraints (capacity, compute, schedule)
  • Route dispatches drivers or items (TSP, VRP, etc)

We add new engines all the time. If you don't see your use case, contact


Nextmv provides a variety of engines for solving delivery and distribution problems, including:

  • Cluster for Nearest Neighbor and Constrained K-means clustering or batching
  • Vehicle for routing a single vehicle, i.e. our Traveling Salesperson (TSP) Solver, and
  • Fleet for routing multiple vehicles, i.e. our Vehicle Routing (VRP) Solver.

Filters and constraints

Routing engines come with prebuilt filters and constraints, including:

  • Time windows to handle strict delivery or driver break windows
  • Length restrictions to handle strict maximum distances or time per route
  • Capacity per vehicle to distinguish between vehicles like bikes and vans
  • Attributes per vehicle and location to handle things like refrigeration requirements
  • Precedence to handle pickups needing to precede dropoffs

Filters and constraints can be configured to handle common operations patterns such as:

  • Custom vehicle or package constraints
  • Different vehicle start and end locations
  • Different vehicle speeds
  • Unique cost functions (e.g. Minutes early or late, dollars, penalties for unassigned locations)

We recommend starting with one of Nextmv's prebuilt apps when working with engines (e.g., the Dispatch App for routing a fleet vehicles).


Clustering models can be used for grouping vehicle routes, group users, locations, regions, or strategies by similarity.

Nextmv clustering engine can take Capacity, Cardinality, and per cluster constraints as part of their input.

Pack engine

Packing and resource allocation models come in all shapes and sizes, from packing a truck bed with the highest yield orders to picking the best investments for your portfolio.

Knapsack models are the classic generalization for these types of problems and can be solved using or extending our Pack engine.

Page last updated

Go to on-page nav menu