Route optimization skipping driver

We have an optimization request with 2 drivers, however only one of the drivers is being assigned a route despite setting min_jobs on both of the drivers to 1.

The issue seems to be related to the stop I9ed82KJhoDmS5LzpvaV. This gets unassigned due to its unreachable time window. However if you remove that time window then both drivers get assigned several stops in the route.

The request is:

{
	"configuration": {
		"routing": {
			"calc_points": false,
			"consider_traffic": false,
			"fail_fast": false,
			"network_data_provider": "openstreetmap",
			"return_snapped_waypoints": true,
			"snap_preventions": [
				"motorway",
				"tunnel",
				"ferry"
			]
		}
	},
	"objectives": [
		{
			"type": "min-max",
			"value": "completion_time"
		},
		{
			"type": "min-max",
			"value": "activities"
		}
	],
	"relations": [],
	"services": [
		{
			"address": {
				"curbside": "any",
				"lat": 25.8115733,
				"location_id": "3UT0IiYTTspgtiAU08zo",
				"lon": -80.3660146
			},
			"duration": 60,
			"group": "medium",
			"id": "3UT0IiYTTspgtiAU08zo",
			"time_windows": [
				{
					"earliest": 1651585500,
					"latest": 1651587300
				}
			]
		},
		{
			"address": {
				"curbside": "any",
				"lat": 25.7975288,
				"location_id": "Gt4KlMn3z5UsDXoGNnQq",
				"lon": -80.2137439
			},
			"duration": 60,
			"group": "medium",
			"id": "Gt4KlMn3z5UsDXoGNnQq",
			"time_windows": [
				{
					"latest": 1651579200
				}
			]
		},
		{
			"address": {
				"curbside": "any",
				"lat": 25.8992792,
				"location_id": "I9ed82KJhoDmS5LzpvaV",
				"lon": -80.3789135
			},
			"duration": 60,
			"group": "medium",
			"id": "I9ed82KJhoDmS5LzpvaV",
			"time_windows": [
				{
					"earliest": 1651574700,
					"latest": 1651576500
				}
			]
		},
		{
			"address": {
				"curbside": "any",
				"lat": 25.7827625,
				"location_id": "NfFeqH3VdTLBUYWtw5sR",
				"lon": -80.3490008
			},
			"duration": 60,
			"group": "medium",
			"id": "NfFeqH3VdTLBUYWtw5sR",
			"time_windows": [
				{
					"earliest": 1651575600,
					"latest": 1651577400
				}
			]
		},
		{
			"address": {
				"curbside": "any",
				"lat": 25.8013615,
				"location_id": "StYhVW1xnR3Vr7LGMOP0",
				"lon": -80.3304131
			},
			"duration": 60,
			"group": "medium",
			"id": "StYhVW1xnR3Vr7LGMOP0",
			"time_windows": [
				{
					"earliest": 1651586400
				}
			]
		},
		{
			"address": {
				"curbside": "any",
				"lat": 25.7946578,
				"location_id": "og6GrjwlK29NU5cFuTKS",
				"lon": -80.3920806
			},
			"duration": 60,
			"group": "medium",
			"id": "og6GrjwlK29NU5cFuTKS",
			"time_windows": [
				{
					"earliest": 1651577400,
					"latest": 1651581900
				}
			]
		},
		{
			"address": {
				"curbside": "any",
				"lat": 25.9696633,
				"location_id": "wwobPhfv9pAuLHE2WEgN",
				"lon": -80.27115979999999
			},
			"duration": 60,
			"group": "medium",
			"id": "wwobPhfv9pAuLHE2WEgN",
			"time_windows": [
				{
					"earliest": 1651578300,
					"latest": 1651590000
				}
			]
		}
	],
	"shipments": [],
	"vehicle_types": [
		{
			"profile": "small_truck_delivery",
			"service_time_factor": 1,
			"speed_factor": 1,
			"type_id": "vhc_VSYkajG8f0mTsxW9nQ8K"
		},
		{
			"profile": "small_truck_delivery",
			"service_time_factor": 1,
			"speed_factor": 1,
			"type_id": "vhc_4cfhWuCoXo4lqCGbN0IQ"
		}
	],
	"vehicles": [
		{
			"earliest_start": 1651571100,
			"end_address": {
				"curbside": "any",
				"lat": 26.7702381,
				"location_id": "99OIzE2U37eRmN0uX3SC",
				"lon": -80.0598316,
				"name": "Merchants Export Inc.",
				"street_hint": "Merchants Export Inc."
			},
			"latest_end": 1651611600,
			"min_jobs": 1,
			"return_to_depot": true,
			"start_address": {
				"curbside": "any",
				"lat": 26.7702381,
				"location_id": "wxmPKCSyY4TmBJrVJ4tm",
				"lon": -80.0598316
			},
			"type_id": "vhc_VSYkajG8f0mTsxW9nQ8K",
			"vehicle_id": "VSYkajG8f0mTsxW9nQ8K"
		},
		{
			"earliest_start": 1651571100,
			"end_address": {
				"curbside": "any",
				"lat": 26.7702381,
				"location_id": "A9Zz0WNIQfXZbrrnJRf2",
				"lon": -80.0598316
			},
			"latest_end": 1651611600,
			"min_jobs": 1,
			"return_to_depot": true,
			"start_address": {
				"curbside": "any",
				"lat": 26.7702381,
				"location_id": "zPIowg97anyUz4xNS9k4",
				"lon": -80.0598316
			},
			"type_id": "vhc_4cfhWuCoXo4lqCGbN0IQ",
			"vehicle_id": "4cfhWuCoXo4lqCGbN0IQ"
		}
	]
}

Thanks @Sam_Ruston for this example. This behaviour is indeed interesting. I just want to let you know that we are still analysing this. We will let you know once we know more.

Powered by Discourse