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 email@example.com.
Nextmv provides a variety of engines for solving delivery and distribution problems, including:
Clusterfor Nearest Neighbor and Constrained K-means clustering or batching
Vehiclefor routing a single vehicle, i.e. our Traveling Salesperson (TSP) Solver, and
Fleetfor routing multiple vehicles, i.e. our Vehicle Routing (VRP) Solver.
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)
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.
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