# graphhopper/jsprit

jsprit is a java based, open source toolkit for solving rich vehicle routing problems

Repository: https://github.com/graphhopper/jsprit
Canonical: https://ross.abutalabs.com/products/jsprit
Homepage: https://www.graphhopper.com/open-source/
Language: Java
License: Apache-2.0
License Family: permissive
Topics: vrp, algorithm, java, traveling-salesman, vehicle-routing-problem
Last push: 2026-04-08T19:17:58+00:00

## Health v2 (maintenance only)
Score: 57/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 76, release rhythm 8, longevity 100
- inputs: {"age_days": 4907, "days_push": 147, "days_rel": 652, "gap_med": null, "n_releases_24m": 1}
- flags: prerelease_only
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1828, forks 639 (observed 2026-08-28T04:05:41.608009+00:00)

## What it is
jsprit is a Java-based open-source toolkit for solving rich Traveling Salesman Problems (TSP) and Vehicle Routing Problems (VRP) using a single all-purpose metaheuristic. It supports many VRP variants including capacitated, multi-depot, time-windowed, pickup-and-delivery, and heterogeneous fleet problems, and is maintained by GraphHopper.

## Use cases
- solve vehicle routing problems in java
- optimize delivery routes for a fleet of vehicles
- solve traveling salesman problem programmatically
- route optimization with time windows and capacity constraints
- plan pickup and delivery routes for multiple vehicles
- embed a VRP solver into a logistics application
- solve dial-a-ride and multi-depot routing problems

## When to choose
- you need a flexible, extensible Java library for TSP/VRP solving with custom constraints
- you want to handle rich VRP variants like time windows, backhauls, heterogeneous fleets, or multiple depots
- you prefer an embeddable open-source solver over a commercial routing API
- you need to customize or monitor the optimization algorithm itself

## When to avoid
- you need a hosted route optimization API without writing Java code
- you require exact optimal solutions for large instances rather than good heuristic solutions
- your stack is not on the JVM and you cannot integrate Java libraries
- you need full map/routing features (geocoding, map matching) rather than just route optimization

## Facets
- artifact type: library
- maturity: active
- function: simulation, math
- domain: logistics, developer-tools
- platform: jvm, cross-platform
- tags: vehicle-routing-problem, traveling-salesman, metaheuristic, route-optimization, tsp, vrp, java-library, optimization, algorithms

## Member repositories
- graphhopper/jsprit (main) score 57

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:41.608009+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:19:24.069385+00:00, confidence not recorded.
  - readme: https://github.com/graphhopper/jsprit (fetched 2026-08-28T04:05:41.608009+00:00, sha 3e077723393e)
  - homepage: https://www.graphhopper.com/open-source/ (fetched 2026-08-29T10:58:24.078364+00:00, sha d1ab4a7117c4)
  - site_page: https://www.graphhopper.com/about-us (fetched 2026-08-29T10:58:24.089528+00:00, sha 8e62c909fe4e)
  - site_page: https://docs.graphhopper.com/ (fetched 2026-08-29T10:58:24.091180+00:00, sha baef0c449461)
  - site_page: https://www.graphhopper.com/pricing (fetched 2026-08-29T10:58:24.087464+00:00, sha 3cf6f1325e68)
  - site_page: https://www.graphhopper.com/faq (fetched 2026-08-29T10:58:24.092716+00:00, sha f9a2ac95718a)
- Data as of 2026-08-30T08:39:29.467469+00:00.
