Automate decisions with confidence.

Hop is the first production-ready, commercial Decision Diagram (DD) solver. Use Hop to help extract maximum value from your models.

Decision models are complicated

Optimization is a series of problem solving strategies. Dynamic problems must be solved under fluid conditions. Since marketplaces and logistics networks generally have multiple players, optimizing decisions across the ecosystem requires models and automation. Adopting the right approach and applying these models in production environments is as critical as automating in the first place. That’s where Hop — the first production-ready, commercial Decision Diagram (DD) solver — comes in. Hop encodes optimization strategies for dynamic environments.

func main() {
        func(p plan, opt solve.Options) (solve.Solver, error) {
            return solve.Minimizer(p, opt), nil

For example, on-demand delivery companies need to consider:

  • How many orders have been placed already for what delivery windows and what is the fulfillment status of each?
  • Where are the delivery destinations for those orders in relation to both the customer and all delivery persons?
  • With what restaurants have the orders been placed and where are those restaurants located?
  • How much time is required for the restaurants to fulfill the orders and what’s the error margin on that time estimate?

Starting state

Where everything is and what it’s doing when you begin searching for an optimal plan — driver locations, previous orders, etc.

Layered constraints

The various pieces in play don’t start from 0 on every optimization; there are preceding deliveries, acceptable delivery windows, driver capacities, and more to consider.

Dynamic environment

Layered constraints are constantly changing as drivers, orders, and restaurants go on- and offline

Predicted Changes

Expected updates to the environment, such as drivers coming on- and offline, over a given time horizon


When there are 1000s of orders and 100s of drivers and restaurants, that increases the number of feasible states by an order of n.

Constraint sequencing

Without an infinite time to run, the order in which layered constraints are applied returns different optimal results

Decisions as code

At nextmv, we believe that engineering fundamentals are engineering fundamentals and coding standards are coding standards. Decision engineering principles, architecture and work product should mirror software engineering principles, architecture and work product.

Algorithms should be written in the same languages, read data from the same sources, and test using the same frameworks. Hop performs at scale under complex, fluctuating, real world conditions. It naturally itegrates with microservice and serverless architectures common to a modern, cloud-based development environment.

Version control

Hop shortens the path from “what if…” to achieving real production impact.

No unexpected results

No unexpected results from switching environments

No error-prone scripts

No brittle, error-prone scripts transforming business logic

No black moves

No black boxes obscuring results

Seamlessly integrate decisions

Hop packages are binaries built for different deployment contexts common to modern, cloud-based development environments, including the command line, HTTP, and AWS Lambda.

Hop reads and writes JSON data. JSON in/JSON out allows Hop to seamlessly integrate with your existing data stores, applications & infrastructure. No more square pegs in round holes — Hop is optimized for today’s microservice and serverless architectures, not monoliths.

Hop around industries

Hop can be deployed to routing, scheduling and assignment problems across a number of industries.

Use cases for Hop

On Demand Delivery

Whether the order is for a meal or recumbent bike, use Hop to set your delivery schedule, assign the right deliveries to the right courier and start those courier along the most efficient routes.


Hop can make a differentiated impact on decisions regarding inventory, promoting particular product bundles, and pricing different delivery windows.

IT - Infrastructure Management

Regardless of whether your infrastructure is in the cloud, on-prem or somewhere in between, Hop can ensure jobs are scheduled for the optimal time and assigned to the appropriate resources. All while accounting for how you might be scaling those resources up and down.


An optimized delivery schedule for moving products from a central distribution center to point of sale locations can be the difference between reaching your customers in two days and two weeks. Use Hop to build a schedule that puts the customer first.

Sales Operations

Territory definition shouldn’t be an approximation and multi-year pricing structures under different potential growth conditions shouldn’t be back of the envelope. Let Hop take these decisions from art to science.


Deploy Hop to build an on call schedule that facilitates quality connection between patient and provider.