VRP quickstart
Welcome to the VRP solver API! You can test our API in just one command:
curl https://api.solvice.io/v2/vrp/demo -H "Authorization: <<apiKey>>" | \
curl https://api.solvice.io/v2/vrp/solve -H "Authorization: <<apiKey>>" \
-X POST -H "Content-Type: application/json" -d @-
This will fetch a demo instance and solve it.
You can also solve your own instance by replacing the demo instance with your own instance.
Most of the time, you will want to solve your own instance.
In this case, you will need to create a VRP request
payload and send it to the /v2/solve
endpoint. You can find the
schema of the request in the Schemas section.
A VRP request will consist of resources (schema:resources) and
jobs (schema:jobs).
Postman Download postman collection
Underneath you can find an example request
, solution
and explanation
json.
{
"resources": [
{
"name": "Resource 1",
"start": {
"latitude": 51.0535,
"longitude": 3.7264
},
"shifts": [
{
"from": "2023-08-23T08:00:00",
"to": "2023-08-23T17:00:00"
}
]
}
],
"jobs": [
{
"name": "First job",
"location": {
"latitude": 50.8456,
"longitude": 4.3526
},
"duration": 20000
},
{
"name": "Second job",
"location": {
"latitude": 50.8456,
"longitude": 4.3526
},
"duration": 3600
}
]
}
{
"score": {
"hardScore": 0,
"mediumScore": 0,
"softScore": -1655,
"feasible": true
},
"trips": [
{
"visits": [
{
"arrival": "2023-08-23T08:27:32",
"job": "Second job",
"location": "50.8456;4.3526"
},
{
"arrival": "2023-08-23T09:27:32",
"job": "First job",
"location": "50.8456;4.3526"
}
],
"resource": "Resource 1",
"date": "2023-08-23",
"departureTime": "2023-08-23T08:00:00",
"waitTime": 0,
"travelTime": 1652,
"workTime": 25252,
"serviceTime": 23600
}
],
"totalTravelTimeInSeconds": 1652,
"totalServiceTimeInSeconds": 23600,
"workloadFairness": 1,
"status": "SOLVED"
}
{
"score": {
"hardScore": 0,
"mediumScore": 0,
"softScore": -1655,
"feasible": true
},
"unresolved": [
{
"constraint": "JOB_DAY_INDEX",
"score": "-2soft"
},
{
"constraint": "MINIMISE_TRIP_USAGE",
"score": "-1soft"
},
{
"constraint": "TRAVEL_TIME",
"score": "-1652soft"
}
]
}
After this, you can find more information about the different endpoints and how to use them in the API reference.
Updated 6 months ago