GraphHopper.com | Forum | GitHub | Maps | Blog

Inconsistent travel time in Graphopper editor and maps


#1

When I optimize 10 vehicles from same start location [-6.2678825,106.76179840] with 80 job locations, three jobs same locations [-7.602244,110.8101996] with 30 mins duration each are not optimized although two vehicles are totally free. All vehicles are available from 8:00 AM to 8:00 PM.

When I check the directions for these locations in Graphhopper map, it shows only 7 hrs 2 mins, please check attached image.

When I modify vehicle’s availability to 8:00 AM - 11:59 PM, all jobs are optimized and the above three job locations are optimized in same route and result is from 8:00 - 23:35:02.

I would like to know which result is correct in Graphhopper editor and map?

Thanks


#2

Can you provide us with the job_id so that we can pick the problem and reproduce the results?


#3

Hi @stefan, Thanks for reply.

I’m sorry as I couldn’t provide the same data that makes the above issue.
But I provide other data similar to the above issue as some locations are not optimized although still can finish within 24 hrs of vehicle availability.

I provide the followings data:

{
“objectives”: [
{
“type”: “min”,
“value”: “vehicles”
},
{
“type”: “min”,
“value”: “completion_time”
}
],
“vehicles”: [
{
“vehicle_id”: “vehicle0”,
“start_address”: {
“location_id”: “v0_start”,
“lon”: 106.9041939,
“lat”: -6.1595868
},
“return_to_depot”: false,
“type_id”: “vehicle_type_0”,
“skills”: [
“Taxi”,
“Repair”,
""
],
“end_address”: null,
“earliest_start”: 0,
“latest_end”: 86340,
“max_distance”: 2147483647,
“break”: null
},
{
“vehicle_id”: “vehicle1”,
“start_address”: {
“location_id”: “v1_start”,
“lon”: 106.9041939,
“lat”: -6.1595868
},
“return_to_depot”: false,
“type_id”: “vehicle_type_1”,
“skills”: [
“Prime Mover”,
""
],
“end_address”: null,
“earliest_start”: 21600,
“latest_end”: 75600,
“max_distance”: 2147483647,
“break”: null
},
{
“vehicle_id”: “vehicle2”,
“start_address”: {
“location_id”: “v2_start”,
“lon”: 106.9041939,
“lat”: -6.1595868
},
“return_to_depot”: false,
“type_id”: “vehicle_type_2”,
“skills”: [
“Prime Mover”,
""
],
“end_address”: null,
“earliest_start”: 18000,
“latest_end”: 86340,
“max_distance”: 2147483647,
“break”: null
},
{
“vehicle_id”: “vehicle3”,
“start_address”: {
“location_id”: “v3_start”,
“lon”: 106.9041939,
“lat”: -6.1595868
},
“return_to_depot”: false,
“type_id”: “vehicle_type_3”,
“skills”: [
“Lorry Crane”,
""
],
“end_address”: null,
“earliest_start”: 28800,
“latest_end”: 64800,
“max_distance”: 2147483647,
“break”: null
},
{
“vehicle_id”: “vehicle4”,
“start_address”: {
“location_id”: “v4_start”,
“lon”: 106.9041939,
“lat”: -6.1595868
},
“return_to_depot”: false,
“type_id”: “vehicle_type_4”,
“skills”: [
“Lorry Crane”,
""
],
“end_address”: null,
“earliest_start”: 0,
“latest_end”: 86340,
“max_distance”: 2147483647,
“break”: null
},
{
“vehicle_id”: “vehicle5”,
“start_address”: {
“location_id”: “v5_start”,
“lon”: 106.9041939,
“lat”: -6.1595868
},
“return_to_depot”: false,
“type_id”: “vehicle_type_5”,
“skills”: [
“Truck”,
""
],
“end_address”: null,
“earliest_start”: 0,
“latest_end”: 86340,
“max_distance”: 2147483647,
“break”: null
},
{
“vehicle_id”: “vehicle6”,
“start_address”: {
“location_id”: “v6_start”,
“lon”: 106.9041939,
“lat”: -6.1595868
},
“return_to_depot”: false,
“type_id”: “vehicle_type_6”,
“skills”: [
“Prime Mover”,
""
],
“end_address”: null,
“earliest_start”: 0,
“latest_end”: 86340,
“max_distance”: 2147483647,
“break”: null
},
{
“vehicle_id”: “vehicle7”,
“start_address”: {
“location_id”: “v7_start”,
“lon”: 106.9041939,
“lat”: -6.1595868
},
“return_to_depot”: false,
“type_id”: “vehicle_type_7”,
“skills”: [
“Lorry Crane”,
“Ang Mo Kio,Bukit Merah”
],
“end_address”: null,
“earliest_start”: 14400,
“latest_end”: 84600,
“max_distance”: 2147483647,
“break”: null
},
{
“vehicle_id”: “vehicle8”,
“start_address”: {
“location_id”: “v8_start”,
“lon”: 106.9041939,
“lat”: -6.1595868
},
“return_to_depot”: false,
“type_id”: “vehicle_type_8”,
“skills”: [
“Lorry Crane”,
“Punggol 24”
],
“end_address”: null,
“earliest_start”: 0,
“latest_end”: 86340,
“max_distance”: 2147483647,
“break”: null
},
{
“vehicle_id”: “vehicle9”,
“start_address”: {
“location_id”: “v9_start”,
“lon”: 106.9041939,
“lat”: -6.1595868
},
“return_to_depot”: false,
“type_id”: “vehicle_type_9”,
“skills”: [
“Prime Mover”,
""
],
“end_address”: null,
“earliest_start”: 0,
“latest_end”: 86340,
“max_distance”: 2147483647,
“break”: null
}
],
“vehicle_types”: [
{
“type_id”: “vehicle_type_0”,
“profile”: “car”,
“speed_factor”: 0.5,
“service_time_factor”: 1,
“capacity”: [
0,
0
]
},
{
“type_id”: “vehicle_type_1”,
“profile”: “car”,
“speed_factor”: 0.5,
“service_time_factor”: 1,
“capacity”: [
0,
0
]
},
{
“type_id”: “vehicle_type_2”,
“profile”: “car”,
“speed_factor”: 0.5,
“service_time_factor”: 1,
“capacity”: [
0,
0
]
},
{
“type_id”: “vehicle_type_3”,
“profile”: “car”,
“speed_factor”: 0.5,
“service_time_factor”: 1,
“capacity”: [
0,
0
]
},
{
“type_id”: “vehicle_type_4”,
“profile”: “car”,
“speed_factor”: 0.5,
“service_time_factor”: 1,
“capacity”: [
0,
0
]
},
{
“type_id”: “vehicle_type_5”,
“profile”: “car”,
“speed_factor”: 0.5,
“service_time_factor”: 1,
“capacity”: [
0,
0
]
},
{
“type_id”: “vehicle_type_6”,
“profile”: “car”,
“speed_factor”: 0.5,
“service_time_factor”: 1,
“capacity”: [
0,
0
]
},
{
“type_id”: “vehicle_type_7”,
“profile”: “car”,
“speed_factor”: 0.5,
“service_time_factor”: 1,
“capacity”: [
0,
100
]
},
{
“type_id”: “vehicle_type_8”,
“profile”: “car”,
“speed_factor”: 0.5,
“service_time_factor”: 1,
“capacity”: [
0,
20
]
},
{
“type_id”: “vehicle_type_9”,
“profile”: “car”,
“speed_factor”: 0.5,
“service_time_factor”: 1,
“capacity”: [
0,
80
]
}
],
“services”: [],
“shipments”: [
{
“pickup”: {
“address”: {
“location_id”: “jsp0”,
“lon”: 107.146,
“lat”: -6.29026
},
“time_windows”: null,
“duration”: 1800
},
“delivery”: {
“address”: {
“location_id”: “jsd0”,
“lon”: 107.6365615,
“lat”: -6.926131
},
“time_windows”: null,
“duration”: 1800
},
“id”: “DAV-220517-00322”,
“name”: “Test”,
“size”: [
0,
0
],
“required_skills”: [],
“allowed_vehicles”: [],
“priority”: 2
},
{
“pickup”: {
“address”: {
“location_id”: “jsp1”,
“lon”: 107.146,
“lat”: -6.29026
},
“time_windows”: null,
“duration”: 1800
},
“delivery”: {
“address”: {
“location_id”: “jsd1”,
“lon”: 110.4107494,
“lat”: -6.9840524
},
“time_windows”: null,
“duration”: 1800
},
“id”: “DAV-220517-00323”,
“name”: “Test”,
“size”: [
0,
0
],
“required_skills”: [],
“allowed_vehicles”: [],
“priority”: 2
},
{
“pickup”: {
“address”: {
“location_id”: “jsp2”,
“lon”: 107.0971295,
“lat”: -6.3299055
},
“time_windows”: null,
“duration”: 1800
},
“delivery”: {
“address”: {
“location_id”: “jsd2”,
“lon”: 110.422841,
“lat”: -6.989153
},
“time_windows”: null,
“duration”: 1800
},
“id”: “DAV-220517-00324”,
“name”: “Test”,
“size”: [
0,
0
],
“required_skills”: [],
“allowed_vehicles”: [],
“priority”: 2
},
{
“pickup”: {
“address”: {
“location_id”: “jsp3”,
“lon”: 107.0971295,
“lat”: -6.3299055
},
“time_windows”: null,
“duration”: 1800
},
“delivery”: {
“address”: {
“location_id”: “jsd3”,
“lon”: 112.7344709,
“lat”: -7.2312089
},
“time_windows”: null,
“duration”: 1800
},
“id”: “DAV-220517-00325”,
“name”: “Test”,
“size”: [
0,
0
],
“required_skills”: [],
“allowed_vehicles”: [],
“priority”: 2
},
{
“pickup”: {
“address”: {
“location_id”: “jsp4”,
“lon”: 112.734745,
“lat”: -7.2077579
},
“time_windows”: null,
“duration”: 1800
},
“delivery”: {
“address”: {
“location_id”: “jsd4”,
“lon”: 106.8939648,
“lat”: -6.1770446
},
“time_windows”: null,
“duration”: 1800
},
“id”: “DAV-220517-00326”,
“name”: “Test”,
“size”: [
0,
0
],
“required_skills”: [],
“allowed_vehicles”: [],
“priority”: 2
},
{
“pickup”: {
“address”: {
“location_id”: “jsp5”,
“lon”: 110.327679,
“lat”: -6.975939
},
“time_windows”: null,
“duration”: 1800
},
“delivery”: {
“address”: {
“location_id”: “jsd5”,
“lon”: 107.6456132,
“lat”: -6.9536302
},
“time_windows”: null,
“duration”: 1800
},
“id”: “DAV-220517-00327”,
“name”: “Test”,
“size”: [
0,
0
],
“required_skills”: [],
“allowed_vehicles”: [],
“priority”: 2
},
{
“pickup”: {
“address”: {
“location_id”: “jsp6”,
“lon”: 112.734745,
“lat”: -7.2077579
},
“time_windows”: null,
“duration”: 1800
},
“delivery”: {
“address”: {
“location_id”: “jsd6”,
“lon”: 110.4279366,
“lat”: -6.96443
},
“time_windows”: null,
“duration”: 1800
},
“id”: “DAV-220517-00328”,
“name”: “Test”,
“size”: [
0,
0
],
“required_skills”: [],
“allowed_vehicles”: [],
“priority”: 2
},
{
“pickup”: {
“address”: {
“location_id”: “jsp7”,
“lon”: 106.823721,
“lat”: -6.1901367
},
“time_windows”: null,
“duration”: 1800
},
“delivery”: {
“address”: {
“location_id”: “jsd7”,
“lon”: 110.3650073,
“lat”: -7.8016768
},
“time_windows”: null,
“duration”: 1800
},
“id”: “DAV-220517-00329”,
“name”: “Test”,
“size”: [
0,
0
],
“required_skills”: [],
“allowed_vehicles”: [],
“priority”: 2
},
{
“pickup”: {
“address”: {
“location_id”: “jsp8”,
“lon”: 106.909088,
“lat”: -6.249919
},
“time_windows”: null,
“duration”: 1800
},
“delivery”: {
“address”: {
“location_id”: “jsd8”,
“lon”: 107.6061978,
“lat”: -6.9207891
},
“time_windows”: null,
“duration”: 1800
},
“id”: “DAV-220517-00330”,
“name”: “Test”,
“size”: [
0,
0
],
“required_skills”: [],
“allowed_vehicles”: [],
“priority”: 2
},
{
“pickup”: {
“address”: {
“location_id”: “jsp9”,
“lon”: 106.9806409,
“lat”: -6.2708062
},
“time_windows”: null,
“duration”: 1800
},
“delivery”: {
“address”: {
“location_id”: “jsd9”,
“lon”: 107.6061978,
“lat”: -6.9207891
},
“time_windows”: null,
“duration”: 1800
},
“id”: “DAV-220517-00331”,
“name”: “Test”,
“size”: [
0,
0
],
“required_skills”: [],
“allowed_vehicles”: [],
“priority”: 2
},
{
“pickup”: {
“address”: {
“location_id”: “jsp10”,
“lon”: 110.4244247,
“lat”: -6.9693706
},
“time_windows”: null,
“duration”: 1800
},
“delivery”: {
“address”: {
“location_id”: “jsd10”,
“lon”: 112.7093798,
“lat”: -7.2800473
},
“time_windows”: null,
“duration”: 1800
},
“id”: “DAV-220517-00332”,
“name”: “Test”,
“size”: [
0,
0
],
“required_skills”: [],
“allowed_vehicles”: [],
“priority”: 2
},
{
“pickup”: {
“address”: {
“location_id”: “jsp11”,
“lon”: 108.5638785,
“lat”: -6.7167124
},
“time_windows”: null,
“duration”: 1800
},
“delivery”: {
“address”: {
“location_id”: “jsd11”,
“lon”: 106.909088,
“lat”: -6.249919
},
“time_windows”: null,
“duration”: 1800
},
“id”: “DAV-220517-00333”,
“name”: “Test”,
“size”: [
0,
0
],
“required_skills”: [],
“allowed_vehicles”: [],
“priority”: 2
},
{
“pickup”: {
“address”: {
“location_id”: “jsp12”,
“lon”: 112.0092198,
“lat”: -7.8112224
},
“time_windows”: null,
“duration”: 1800
},
“delivery”: {
“address”: {
“location_id”: “jsd12”,
“lon”: 110.3650073,
“lat”: -7.8016768
},
“time_windows”: null,
“duration”: 1800
},
“id”: “DAV-220517-00334”,
“name”: “Test”,
“size”: [
0,
0
],
“required_skills”: [],
“allowed_vehicles”: [],
“priority”: 2
},
{
“pickup”: {
“address”: {
“location_id”: “jsp13”,
“lon”: 106.9806409,
“lat”: -6.2708062
},
“time_windows”: null,
“duration”: 1800
},
“delivery”: {
“address”: {
“location_id”: “jsd13”,
“lon”: 106.909088,
“lat”: -6.249919
},
“time_windows”: null,
“duration”: 1800
},
“id”: “DAV-220517-00335”,
“name”: “Test”,
“size”: [
0,
0
],
“required_skills”: [],
“allowed_vehicles”: [],
“priority”: 2
},
{
“pickup”: {
“address”: {
“location_id”: “jsp14”,
“lon”: 112.734745,
“lat”: -7.2077579
},
“time_windows”: null,
“duration”: 1800
},
“delivery”: {
“address”: {
“location_id”: “jsd14”,
“lon”: 107.6456132,
“lat”: -6.9536302
},
“time_windows”: null,
“duration”: 1800
},
“id”: “DAV-220517-00336”,
“name”: “Test”,
“size”: [
0,
0
],
“required_skills”: [],
“allowed_vehicles”: [],
“priority”: 2
},
{
“pickup”: {
“address”: {
“location_id”: “jsp15”,
“lon”: 110.327679,
“lat”: -6.975939
},
“time_windows”: null,
“duration”: 1800
},
“delivery”: {
“address”: {
“location_id”: “jsd15”,
“lon”: 107.146,
“lat”: -6.29026
},
“time_windows”: null,
“duration”: 1800
},
“id”: “DAV-220517-00337”,
“name”: “Test”,
“size”: [
0,
0
],
“required_skills”: [],
“allowed_vehicles”: [],
“priority”: 2
},
{
“pickup”: {
“address”: {
“location_id”: “jsp16”,
“lon”: 112.0092198,
“lat”: -7.8112224
},
“time_windows”: null,
“duration”: 1800
},
“delivery”: {
“address”: {
“location_id”: “jsd16”,
“lon”: 107.0971295,
“lat”: -6.3299055
},
“time_windows”: null,
“duration”: 1800
},
“id”: “DAV-220517-00338”,
“name”: “Test”,
“size”: [
0,
0
],
“required_skills”: [],
“allowed_vehicles”: [],
“priority”: 2
},
{
“pickup”: {
“address”: {
“location_id”: “jsp17”,
“lon”: 110.327679,
“lat”: -6.975939
},
“time_windows”: null,
“duration”: 1800
},
“delivery”: {
“address”: {
“location_id”: “jsd17”,
“lon”: 107.0971295,
“lat”: -6.3299055
},
“time_windows”: null,
“duration”: 1800
},
“id”: “DAV-220517-00339”,
“name”: “Test”,
“size”: [
0,
0
],
“required_skills”: [],
“allowed_vehicles”: [],
“priority”: 2
},
{
“pickup”: {
“address”: {
“location_id”: “jsp18”,
“lon”: 108.5638785,
“lat”: -6.7167124
},
“time_windows”: null,
“duration”: 1800
},
“delivery”: {
“address”: {
“location_id”: “jsd18”,
“lon”: 110.3650073,
“lat”: -7.8016768
},
“time_windows”: null,
“duration”: 1800
},
“id”: “DAV-220517-00341”,
“name”: “Test”,
“size”: [
0,
0
],
“required_skills”: [],
“allowed_vehicles”: [],
“priority”: 2
}
],
“relations”: null
}

Thanks


#4

apparently your vehicle types have speed_factor as 0.5, and that is why the travel time between the same locations in the route optimization api is double of that in the directions api. take your first post as example, 14h 5 min vs. 7h 2min.


#5

Thanks @jie31best
It works. You saved my time…


closed #6