Minimize tour overlap for driver-friendly routes

Ensure that the optimization algorithm assigns routes to different vehicles without covering the same areas. This is especially important in urban or local delivery scenarios, where overlapping tours can lead to inefficient routes and increased operational costs.

You can reduce tour overlap by including the minimizeTourOverlap advanced objective in the problem JSON, as part of the objectives array which specifies the hierarchy of objectives that govern the tour optimization process.

📘

Note

  • advancedObjectives is an experimental feature. For more information on how to include experimental features in your vehicle routing problems, see Explore experimental features or the sample use case discussed in this tutorial.
  • Using this objective can impact such tour parameters as costs, distance, or duration because of the optimization algorithm trying to separate the tours more distinctly.
  • The order of objectives within the advancedObjectives array is important. The higher the minimizeTourOverlap objective is placed in the array, the more the optimization algorithm prioritizes it. For more information, see Use objective functions for specific optimization goals.

Scenario: Local delivery service

In this scenario, a local delivery service operates four scooters, each with a capacity of 10 orders. The vehicle routing problem for that fleet involves 40 jobs that are densely packed within the service area, as shown in the following example:

A sample problem with 40 delivery jobs spread over a small area

The following sections compare solutions to a single vehicle routing problem - with and without the minimizeTourOverlap objective - to demonstrate its impact on the resulting tours.

Use case 1: Without the minimizeTourOverlap objective

In this case, the vehicle routing problem does contain any specific optimization goals, which means that the optimization algorithm applies only the default objectives when determining the most optimal solution.

This use case serves as a baseline for comparing how solutions using the default objectives behave versus those aiming to reduce tour overlap.

The following section contains the full problem JSON:

Click to expand/collapse the sample JSON
  {
    "fleet": {
      "types": [
        {
          "id": "vehicle_1",
          "profile": "vehicle",
          "costs": {
            "fixed": 20,
            "distance": 0.5,
            "time": 0.002
          },
          "shifts": [
            {
              "start": {
                "time": "2023-12-06T09:00:00+02:00",
                "location": {
                  "lat": 52.213985,
                  "lng": 21.004046
                }
              },
              "end": {
                "time": "2023-12-06T19:00:00+02:00",
                "location": {
                  "lat": 52.213985,
                  "lng": 21.004046
                }
              }
            }
          ],
          "capacity": [
            10
          ],
          "amount": 4
        }
      ],
      "profiles": [
        {
          "type": "scooter",
          "name": "vehicle"
        }
      ]
    },
    "plan": {
      "jobs": [
        {
          "id": "Job_0",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.198437,
                      "lng": 21.020396
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_1",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.196852,
                      "lng": 21.01393
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_2",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.210221,
                      "lng": 21.008033
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_3",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.211604,
                      "lng": 21.018408
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_4",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.196201,
                      "lng": 21.003641
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_5",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.201661,
                      "lng": 21.0019
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_6",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.208418,
                      "lng": 20.99924
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_7",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.208443,
                      "lng": 21.0039
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_8",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.2099,
                      "lng": 21.01501
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_9",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.208032,
                      "lng": 21.019491
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_10",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.207339,
                      "lng": 21.013889
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_11",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.206026,
                      "lng": 21.011517
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_12",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.207388,
                      "lng": 21.01074
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_13",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.206785,
                      "lng": 21.007355
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_14",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.205227,
                      "lng": 21.008841
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_15",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.20263,
                      "lng": 21.009905
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_16",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.202166,
                      "lng": 21.008065
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_17",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.199205,
                      "lng": 21.009271
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_18",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.199146,
                      "lng": 21.005134
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_19",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.19785,
                      "lng": 21.004998
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_20",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.204318,
                      "lng": 21.001053
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_21",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.205608,
                      "lng": 20.999893
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_22",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.204826,
                      "lng": 21.003042
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_23",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.206454,
                      "lng": 21.004241
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_24",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.197989,
                      "lng": 21.015325
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_25",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.197208,
                      "lng": 21.018194
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_26",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.200472,
                      "lng": 21.014328
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_27",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.201151,
                      "lng": 21.022592
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_28",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.198854,
                      "lng": 21.012977
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_29",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.199743,
                      "lng": 21.01647
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_30",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.198428,
                      "lng": 21.017885
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_31",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.202742,
                      "lng": 21.016829
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_32",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.20075,
                      "lng": 21.020079
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_33",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.205546,
                      "lng": 21.021793
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_34",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.20459,
                      "lng": 21.014063
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_35",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.203915,
                      "lng": 21.022401
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_36",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.19966,
                      "lng": 21.023483
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_37",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.198207,
                      "lng": 21.022368
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_38",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.206908,
                      "lng": 21.017486
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_39",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.208587,
                      "lng": 21.01048
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        }
      ]
    }
  }

Solution

The following figure illustrates the visual breakdown of the solution. The optimization algorithm addressed the problem efficiently, considering the provided parameters:

Sample solution showing tour overlap

However, as the breakdown demonstrates, all resulting tours overlap with each other and lack compactness. An overlap between tours can lead to decreased efficiency, delays, and could make navigation more complex, especially when using small vehicles to serve jobs across densely populated areas.

The following section contains the full solution JSON:

Click to expand/collapse the sample JSON
  {
    "statistic": {
      "cost": 16898.844,
      "distance": 33607,
      "duration": 7672,
      "times": {
        "driving": 5272,
        "serving": 2400,
        "waiting": 0,
        "stopping": 0,
        "break": 0
      }
    },
    "tours": [
      {
        "vehicleId": "vehicle_1_3",
        "typeId": "vehicle_1",
        "stops": [
          {
            "time": {
              "arrival": "2023-12-06T07:00:00Z",
              "departure": "2023-12-06T07:00:00Z"
            },
            "load": [
              10
            ],
            "activities": [
              {
                "jobId": "departure",
                "type": "departure",
                "location": {
                  "lat": 52.213985,
                  "lng": 21.004046
                },
                "time": {
                  "start": "2023-12-06T07:00:00Z",
                  "end": "2023-12-06T07:00:00Z"
                }
              }
            ],
            "location": {
              "lat": 52.213985,
              "lng": 21.004046
            },
            "distance": 0
          },
          {
            "time": {
              "arrival": "2023-12-06T07:03:35Z",
              "departure": "2023-12-06T07:04:35Z"
            },
            "load": [
              9
            ],
            "activities": [
              {
                "jobId": "Job_3",
                "type": "delivery",
                "location": {
                  "lat": 52.211604,
                  "lng": 21.018408
                },
                "time": {
                  "start": "2023-12-06T07:03:35Z",
                  "end": "2023-12-06T07:04:35Z"
                }
              }
            ],
            "location": {
              "lat": 52.211604,
              "lng": 21.018408
            },
            "distance": 1680
          },
          {
            "time": {
              "arrival": "2023-12-06T07:06:01Z",
              "departure": "2023-12-06T07:07:01Z"
            },
            "load": [
              8
            ],
            "activities": [
              {
                "jobId": "Job_9",
                "type": "delivery",
                "location": {
                  "lat": 52.208032,
                  "lng": 21.019491
                },
                "time": {
                  "start": "2023-12-06T07:06:01Z",
                  "end": "2023-12-06T07:07:01Z"
                }
              }
            ],
            "location": {
              "lat": 52.208032,
              "lng": 21.019491
            },
            "distance": 2367
          },
          {
            "time": {
              "arrival": "2023-12-06T07:08:08Z",
              "departure": "2023-12-06T07:09:08Z"
            },
            "load": [
              7
            ],
            "activities": [
              {
                "jobId": "Job_38",
                "type": "delivery",
                "location": {
                  "lat": 52.206908,
                  "lng": 21.017486
                },
                "time": {
                  "start": "2023-12-06T07:08:08Z",
                  "end": "2023-12-06T07:09:08Z"
                }
              }
            ],
            "location": {
              "lat": 52.206908,
              "lng": 21.017486
            },
            "distance": 2663
          },
          {
            "time": {
              "arrival": "2023-12-06T07:12:00Z",
              "departure": "2023-12-06T07:13:00Z"
            },
            "load": [
              6
            ],
            "activities": [
              {
                "jobId": "Job_35",
                "type": "delivery",
                "location": {
                  "lat": 52.203915,
                  "lng": 21.022401
                },
                "time": {
                  "start": "2023-12-06T07:12:00Z",
                  "end": "2023-12-06T07:13:00Z"
                }
              }
            ],
            "location": {
              "lat": 52.203915,
              "lng": 21.022401
            },
            "distance": 3513
          },
          {
            "time": {
              "arrival": "2023-12-06T07:13:52Z",
              "departure": "2023-12-06T07:14:52Z"
            },
            "load": [
              5
            ],
            "activities": [
              {
                "jobId": "Job_27",
                "type": "delivery",
                "location": {
                  "lat": 52.201151,
                  "lng": 21.022592
                },
                "time": {
                  "start": "2023-12-06T07:13:52Z",
                  "end": "2023-12-06T07:14:52Z"
                }
              }
            ],
            "location": {
              "lat": 52.201151,
              "lng": 21.022592
            },
            "distance": 3951
          },
          {
            "time": {
              "arrival": "2023-12-06T07:15:20Z",
              "departure": "2023-12-06T07:16:20Z"
            },
            "load": [
              4
            ],
            "activities": [
              {
                "jobId": "Job_32",
                "type": "delivery",
                "location": {
                  "lat": 52.20075,
                  "lng": 21.020079
                },
                "time": {
                  "start": "2023-12-06T07:15:20Z",
                  "end": "2023-12-06T07:16:20Z"
                }
              }
            ],
            "location": {
              "lat": 52.20075,
              "lng": 21.020079
            },
            "distance": 4128
          },
          {
            "time": {
              "arrival": "2023-12-06T07:17:41Z",
              "departure": "2023-12-06T07:18:41Z"
            },
            "load": [
              3
            ],
            "activities": [
              {
                "jobId": "Job_26",
                "type": "delivery",
                "location": {
                  "lat": 52.200472,
                  "lng": 21.014328
                },
                "time": {
                  "start": "2023-12-06T07:17:41Z",
                  "end": "2023-12-06T07:18:41Z"
                }
              }
            ],
            "location": {
              "lat": 52.200472,
              "lng": 21.014328
            },
            "distance": 4598
          },
          {
            "time": {
              "arrival": "2023-12-06T07:20:30Z",
              "departure": "2023-12-06T07:21:30Z"
            },
            "load": [
              2
            ],
            "activities": [
              {
                "jobId": "Job_31",
                "type": "delivery",
                "location": {
                  "lat": 52.202742,
                  "lng": 21.016829
                },
                "time": {
                  "start": "2023-12-06T07:20:30Z",
                  "end": "2023-12-06T07:21:30Z"
                }
              }
            ],
            "location": {
              "lat": 52.202742,
              "lng": 21.016829
            },
            "distance": 5157
          },
          {
            "time": {
              "arrival": "2023-12-06T07:22:29Z",
              "departure": "2023-12-06T07:23:29Z"
            },
            "load": [
              1
            ],
            "activities": [
              {
                "jobId": "Job_34",
                "type": "delivery",
                "location": {
                  "lat": 52.20459,
                  "lng": 21.014063
                },
                "time": {
                  "start": "2023-12-06T07:22:29Z",
                  "end": "2023-12-06T07:23:29Z"
                }
              }
            ],
            "location": {
              "lat": 52.20459,
              "lng": 21.014063
            },
            "distance": 5510
          },
          {
            "time": {
              "arrival": "2023-12-06T07:24:50Z",
              "departure": "2023-12-06T07:25:50Z"
            },
            "load": [
              0
            ],
            "activities": [
              {
                "jobId": "Job_11",
                "type": "delivery",
                "location": {
                  "lat": 52.206026,
                  "lng": 21.011517
                },
                "time": {
                  "start": "2023-12-06T07:24:50Z",
                  "end": "2023-12-06T07:25:50Z"
                }
              }
            ],
            "location": {
              "lat": 52.206026,
              "lng": 21.011517
            },
            "distance": 5877
          },
          {
            "time": {
              "arrival": "2023-12-06T07:29:03Z",
              "departure": "2023-12-06T07:29:03Z"
            },
            "load": [
              0
            ],
            "activities": [
              {
                "jobId": "arrival",
                "type": "arrival",
                "location": {
                  "lat": 52.213985,
                  "lng": 21.004046
                },
                "time": {
                  "start": "2023-12-06T07:29:03Z",
                  "end": "2023-12-06T07:29:03Z"
                }
              }
            ],
            "location": {
              "lat": 52.213985,
              "lng": 21.004046
            },
            "distance": 7394
          }
        ],
        "statistic": {
          "cost": 3720.486,
          "distance": 7394,
          "duration": 1743,
          "times": {
            "driving": 1143,
            "serving": 600,
            "waiting": 0,
            "stopping": 0,
            "break": 0
          }
        },
        "shiftIndex": 0
      },
      {
        "vehicleId": "vehicle_1_4",
        "typeId": "vehicle_1",
        "stops": [
          {
            "time": {
              "arrival": "2023-12-06T07:00:00Z",
              "departure": "2023-12-06T07:00:00Z"
            },
            "load": [
              10
            ],
            "activities": [
              {
                "jobId": "departure",
                "type": "departure",
                "location": {
                  "lat": 52.213985,
                  "lng": 21.004046
                },
                "time": {
                  "start": "2023-12-06T07:00:00Z",
                  "end": "2023-12-06T07:00:00Z"
                }
              }
            ],
            "location": {
              "lat": 52.213985,
              "lng": 21.004046
            },
            "distance": 0
          },
          {
            "time": {
              "arrival": "2023-12-06T07:02:37Z",
              "departure": "2023-12-06T07:03:37Z"
            },
            "load": [
              9
            ],
            "activities": [
              {
                "jobId": "Job_7",
                "type": "delivery",
                "location": {
                  "lat": 52.208443,
                  "lng": 21.0039
                },
                "time": {
                  "start": "2023-12-06T07:02:37Z",
                  "end": "2023-12-06T07:03:37Z"
                }
              }
            ],
            "location": {
              "lat": 52.208443,
              "lng": 21.0039
            },
            "distance": 1086
          },
          {
            "time": {
              "arrival": "2023-12-06T07:04:47Z",
              "departure": "2023-12-06T07:05:47Z"
            },
            "load": [
              8
            ],
            "activities": [
              {
                "jobId": "Job_6",
                "type": "delivery",
                "location": {
                  "lat": 52.208418,
                  "lng": 20.99924
                },
                "time": {
                  "start": "2023-12-06T07:04:47Z",
                  "end": "2023-12-06T07:05:47Z"
                }
              }
            ],
            "location": {
              "lat": 52.208418,
              "lng": 20.99924
            },
            "distance": 1463
          },
          {
            "time": {
              "arrival": "2023-12-06T07:07:15Z",
              "departure": "2023-12-06T07:08:15Z"
            },
            "load": [
              7
            ],
            "activities": [
              {
                "jobId": "Job_23",
                "type": "delivery",
                "location": {
                  "lat": 52.206454,
                  "lng": 21.004241
                },
                "time": {
                  "start": "2023-12-06T07:07:15Z",
                  "end": "2023-12-06T07:08:15Z"
                }
              }
            ],
            "location": {
              "lat": 52.206454,
              "lng": 21.004241
            },
            "distance": 2013
          },
          {
            "time": {
              "arrival": "2023-12-06T07:11:04Z",
              "departure": "2023-12-06T07:12:04Z"
            },
            "load": [
              6
            ],
            "activities": [
              {
                "jobId": "Job_15",
                "type": "delivery",
                "location": {
                  "lat": 52.20263,
                  "lng": 21.009905
                },
                "time": {
                  "start": "2023-12-06T07:11:04Z",
                  "end": "2023-12-06T07:12:04Z"
                }
              }
            ],
            "location": {
              "lat": 52.20263,
              "lng": 21.009905
            },
            "distance": 2974
          },
          {
            "time": {
              "arrival": "2023-12-06T07:14:47Z",
              "departure": "2023-12-06T07:15:47Z"
            },
            "load": [
              5
            ],
            "activities": [
              {
                "jobId": "Job_4",
                "type": "delivery",
                "location": {
                  "lat": 52.196201,
                  "lng": 21.003641
                },
                "time": {
                  "start": "2023-12-06T07:14:47Z",
                  "end": "2023-12-06T07:15:47Z"
                }
              }
            ],
            "location": {
              "lat": 52.196201,
              "lng": 21.003641
            },
            "distance": 4167
          },
          {
            "time": {
              "arrival": "2023-12-06T07:20:15Z",
              "departure": "2023-12-06T07:21:15Z"
            },
            "load": [
              4
            ],
            "activities": [
              {
                "jobId": "Job_0",
                "type": "delivery",
                "location": {
                  "lat": 52.198437,
                  "lng": 21.020396
                },
                "time": {
                  "start": "2023-12-06T07:20:15Z",
                  "end": "2023-12-06T07:21:15Z"
                }
              }
            ],
            "location": {
              "lat": 52.198437,
              "lng": 21.020396
            },
            "distance": 5915
          },
          {
            "time": {
              "arrival": "2023-12-06T07:22:41Z",
              "departure": "2023-12-06T07:23:41Z"
            },
            "load": [
              3
            ],
            "activities": [
              {
                "jobId": "Job_30",
                "type": "delivery",
                "location": {
                  "lat": 52.198428,
                  "lng": 21.017885
                },
                "time": {
                  "start": "2023-12-06T07:22:41Z",
                  "end": "2023-12-06T07:23:41Z"
                }
              }
            ],
            "location": {
              "lat": 52.198428,
              "lng": 21.017885
            },
            "distance": 6231
          },
          {
            "time": {
              "arrival": "2023-12-06T07:24:50Z",
              "departure": "2023-12-06T07:25:50Z"
            },
            "load": [
              2
            ],
            "activities": [
              {
                "jobId": "Job_24",
                "type": "delivery",
                "location": {
                  "lat": 52.197989,
                  "lng": 21.015325
                },
                "time": {
                  "start": "2023-12-06T07:24:50Z",
                  "end": "2023-12-06T07:25:50Z"
                }
              }
            ],
            "location": {
              "lat": 52.197989,
              "lng": 21.015325
            },
            "distance": 6533
          },
          {
            "time": {
              "arrival": "2023-12-06T07:26:37Z",
              "departure": "2023-12-06T07:27:37Z"
            },
            "load": [
              1
            ],
            "activities": [
              {
                "jobId": "Job_28",
                "type": "delivery",
                "location": {
                  "lat": 52.198854,
                  "lng": 21.012977
                },
                "time": {
                  "start": "2023-12-06T07:26:37Z",
                  "end": "2023-12-06T07:27:37Z"
                }
              }
            ],
            "location": {
              "lat": 52.198854,
              "lng": 21.012977
            },
            "distance": 6772
          },
          {
            "time": {
              "arrival": "2023-12-06T07:30:24Z",
              "departure": "2023-12-06T07:31:24Z"
            },
            "load": [
              0
            ],
            "activities": [
              {
                "jobId": "Job_2",
                "type": "delivery",
                "location": {
                  "lat": 52.210221,
                  "lng": 21.008033
                },
                "time": {
                  "start": "2023-12-06T07:30:24Z",
                  "end": "2023-12-06T07:31:24Z"
                }
              }
            ],
            "location": {
              "lat": 52.210221,
              "lng": 21.008033
            },
            "distance": 8141
          },
          {
            "time": {
              "arrival": "2023-12-06T07:34:03Z",
              "departure": "2023-12-06T07:34:03Z"
            },
            "load": [
              0
            ],
            "activities": [
              {
                "jobId": "arrival",
                "type": "arrival",
                "location": {
                  "lat": 52.213985,
                  "lng": 21.004046
                },
                "time": {
                  "start": "2023-12-06T07:34:03Z",
                  "end": "2023-12-06T07:34:03Z"
                }
              }
            ],
            "location": {
              "lat": 52.213985,
              "lng": 21.004046
            },
            "distance": 9082
          }
        ],
        "statistic": {
          "cost": 4565.086,
          "distance": 9082,
          "duration": 2043,
          "times": {
            "driving": 1443,
            "serving": 600,
            "waiting": 0,
            "stopping": 0,
            "break": 0
          }
        },
        "shiftIndex": 0
      },
      {
        "vehicleId": "vehicle_1_1",
        "typeId": "vehicle_1",
        "stops": [
          {
            "time": {
              "arrival": "2023-12-06T07:00:00Z",
              "departure": "2023-12-06T07:00:00Z"
            },
            "load": [
              10
            ],
            "activities": [
              {
                "jobId": "departure",
                "type": "departure",
                "location": {
                  "lat": 52.213985,
                  "lng": 21.004046
                },
                "time": {
                  "start": "2023-12-06T07:00:00Z",
                  "end": "2023-12-06T07:00:00Z"
                }
              }
            ],
            "location": {
              "lat": 52.213985,
              "lng": 21.004046
            },
            "distance": 0
          },
          {
            "time": {
              "arrival": "2023-12-06T07:02:42Z",
              "departure": "2023-12-06T07:03:42Z"
            },
            "load": [
              9
            ],
            "activities": [
              {
                "jobId": "Job_12",
                "type": "delivery",
                "location": {
                  "lat": 52.207388,
                  "lng": 21.01074
                },
                "time": {
                  "start": "2023-12-06T07:02:42Z",
                  "end": "2023-12-06T07:03:42Z"
                }
              }
            ],
            "location": {
              "lat": 52.207388,
              "lng": 21.01074
            },
            "distance": 1165
          },
          {
            "time": {
              "arrival": "2023-12-06T07:03:50Z",
              "departure": "2023-12-06T07:04:50Z"
            },
            "load": [
              8
            ],
            "activities": [
              {
                "jobId": "Job_39",
                "type": "delivery",
                "location": {
                  "lat": 52.208587,
                  "lng": 21.01048
                },
                "time": {
                  "start": "2023-12-06T07:03:50Z",
                  "end": "2023-12-06T07:04:50Z"
                }
              }
            ],
            "location": {
              "lat": 52.208587,
              "lng": 21.01048
            },
            "distance": 1230
          },
          {
            "time": {
              "arrival": "2023-12-06T07:06:25Z",
              "departure": "2023-12-06T07:07:25Z"
            },
            "load": [
              7
            ],
            "activities": [
              {
                "jobId": "Job_10",
                "type": "delivery",
                "location": {
                  "lat": 52.207339,
                  "lng": 21.013889
                },
                "time": {
                  "start": "2023-12-06T07:06:25Z",
                  "end": "2023-12-06T07:07:25Z"
                }
              }
            ],
            "location": {
              "lat": 52.207339,
              "lng": 21.013889
            },
            "distance": 1688
          },
          {
            "time": {
              "arrival": "2023-12-06T07:09:38Z",
              "departure": "2023-12-06T07:10:38Z"
            },
            "load": [
              6
            ],
            "activities": [
              {
                "jobId": "Job_29",
                "type": "delivery",
                "location": {
                  "lat": 52.199743,
                  "lng": 21.01647
                },
                "time": {
                  "start": "2023-12-06T07:09:38Z",
                  "end": "2023-12-06T07:10:38Z"
                }
              }
            ],
            "location": {
              "lat": 52.199743,
              "lng": 21.01647
            },
            "distance": 2670
          },
          {
            "time": {
              "arrival": "2023-12-06T07:12:24Z",
              "departure": "2023-12-06T07:13:24Z"
            },
            "load": [
              5
            ],
            "activities": [
              {
                "jobId": "Job_1",
                "type": "delivery",
                "location": {
                  "lat": 52.196852,
                  "lng": 21.01393
                },
                "time": {
                  "start": "2023-12-06T07:12:24Z",
                  "end": "2023-12-06T07:13:24Z"
                }
              }
            ],
            "location": {
              "lat": 52.196852,
              "lng": 21.01393
            },
            "distance": 3402
          },
          {
            "time": {
              "arrival": "2023-12-06T07:14:10Z",
              "departure": "2023-12-06T07:15:10Z"
            },
            "load": [
              4
            ],
            "activities": [
              {
                "jobId": "Job_25",
                "type": "delivery",
                "location": {
                  "lat": 52.197208,
                  "lng": 21.018194
                },
                "time": {
                  "start": "2023-12-06T07:14:10Z",
                  "end": "2023-12-06T07:15:10Z"
                }
              }
            ],
            "location": {
              "lat": 52.197208,
              "lng": 21.018194
            },
            "distance": 3693
          },
          {
            "time": {
              "arrival": "2023-12-06T07:16:11Z",
              "departure": "2023-12-06T07:17:11Z"
            },
            "load": [
              3
            ],
            "activities": [
              {
                "jobId": "Job_37",
                "type": "delivery",
                "location": {
                  "lat": 52.198207,
                  "lng": 21.022368
                },
                "time": {
                  "start": "2023-12-06T07:16:11Z",
                  "end": "2023-12-06T07:17:11Z"
                }
              }
            ],
            "location": {
              "lat": 52.198207,
              "lng": 21.022368
            },
            "distance": 3997
          },
          {
            "time": {
              "arrival": "2023-12-06T07:19:20Z",
              "departure": "2023-12-06T07:20:20Z"
            },
            "load": [
              2
            ],
            "activities": [
              {
                "jobId": "Job_36",
                "type": "delivery",
                "location": {
                  "lat": 52.19966,
                  "lng": 21.023483
                },
                "time": {
                  "start": "2023-12-06T07:19:20Z",
                  "end": "2023-12-06T07:20:20Z"
                }
              }
            ],
            "location": {
              "lat": 52.19966,
              "lng": 21.023483
            },
            "distance": 4626
          },
          {
            "time": {
              "arrival": "2023-12-06T07:22:22Z",
              "departure": "2023-12-06T07:23:22Z"
            },
            "load": [
              1
            ],
            "activities": [
              {
                "jobId": "Job_33",
                "type": "delivery",
                "location": {
                  "lat": 52.205546,
                  "lng": 21.021793
                },
                "time": {
                  "start": "2023-12-06T07:22:22Z",
                  "end": "2023-12-06T07:23:22Z"
                }
              }
            ],
            "location": {
              "lat": 52.205546,
              "lng": 21.021793
            },
            "distance": 5469
          },
          {
            "time": {
              "arrival": "2023-12-06T07:25:49Z",
              "departure": "2023-12-06T07:26:49Z"
            },
            "load": [
              0
            ],
            "activities": [
              {
                "jobId": "Job_8",
                "type": "delivery",
                "location": {
                  "lat": 52.2099,
                  "lng": 21.01501
                },
                "time": {
                  "start": "2023-12-06T07:25:49Z",
                  "end": "2023-12-06T07:26:49Z"
                }
              }
            ],
            "location": {
              "lat": 52.2099,
              "lng": 21.01501
            },
            "distance": 6393
          },
          {
            "time": {
              "arrival": "2023-12-06T07:30:34Z",
              "departure": "2023-12-06T07:30:34Z"
            },
            "load": [
              0
            ],
            "activities": [
              {
                "jobId": "arrival",
                "type": "arrival",
                "location": {
                  "lat": 52.213985,
                  "lng": 21.004046
                },
                "time": {
                  "start": "2023-12-06T07:30:34Z",
                  "end": "2023-12-06T07:30:34Z"
                }
              }
            ],
            "location": {
              "lat": 52.213985,
              "lng": 21.004046
            },
            "distance": 7796
          }
        ],
        "statistic": {
          "cost": 3921.668,
          "distance": 7796,
          "duration": 1834,
          "times": {
            "driving": 1234,
            "serving": 600,
            "waiting": 0,
            "stopping": 0,
            "break": 0
          }
        },
        "shiftIndex": 0
      },
      {
        "vehicleId": "vehicle_1_2",
        "typeId": "vehicle_1",
        "stops": [
          {
            "time": {
              "arrival": "2023-12-06T07:00:00Z",
              "departure": "2023-12-06T07:00:00Z"
            },
            "load": [
              10
            ],
            "activities": [
              {
                "jobId": "departure",
                "type": "departure",
                "location": {
                  "lat": 52.213985,
                  "lng": 21.004046
                },
                "time": {
                  "start": "2023-12-06T07:00:00Z",
                  "end": "2023-12-06T07:00:00Z"
                }
              }
            ],
            "location": {
              "lat": 52.213985,
              "lng": 21.004046
            },
            "distance": 0
          },
          {
            "time": {
              "arrival": "2023-12-06T07:02:36Z",
              "departure": "2023-12-06T07:03:36Z"
            },
            "load": [
              9
            ],
            "activities": [
              {
                "jobId": "Job_14",
                "type": "delivery",
                "location": {
                  "lat": 52.205227,
                  "lng": 21.008841
                },
                "time": {
                  "start": "2023-12-06T07:02:36Z",
                  "end": "2023-12-06T07:03:36Z"
                }
              }
            ],
            "location": {
              "lat": 52.205227,
              "lng": 21.008841
            },
            "distance": 1297
          },
          {
            "time": {
              "arrival": "2023-12-06T07:05:15Z",
              "departure": "2023-12-06T07:06:15Z"
            },
            "load": [
              8
            ],
            "activities": [
              {
                "jobId": "Job_13",
                "type": "delivery",
                "location": {
                  "lat": 52.206785,
                  "lng": 21.007355
                },
                "time": {
                  "start": "2023-12-06T07:05:15Z",
                  "end": "2023-12-06T07:06:15Z"
                }
              }
            ],
            "location": {
              "lat": 52.206785,
              "lng": 21.007355
            },
            "distance": 1884
          },
          {
            "time": {
              "arrival": "2023-12-06T07:08:55Z",
              "departure": "2023-12-06T07:09:55Z"
            },
            "load": [
              7
            ],
            "activities": [
              {
                "jobId": "Job_20",
                "type": "delivery",
                "location": {
                  "lat": 52.204318,
                  "lng": 21.001053
                },
                "time": {
                  "start": "2023-12-06T07:08:55Z",
                  "end": "2023-12-06T07:09:55Z"
                }
              }
            ],
            "location": {
              "lat": 52.204318,
              "lng": 21.001053
            },
            "distance": 2835
          },
          {
            "time": {
              "arrival": "2023-12-06T07:10:43Z",
              "departure": "2023-12-06T07:11:43Z"
            },
            "load": [
              6
            ],
            "activities": [
              {
                "jobId": "Job_21",
                "type": "delivery",
                "location": {
                  "lat": 52.205608,
                  "lng": 20.999893
                },
                "time": {
                  "start": "2023-12-06T07:10:43Z",
                  "end": "2023-12-06T07:11:43Z"
                }
              }
            ],
            "location": {
              "lat": 52.205608,
              "lng": 20.999893
            },
            "distance": 3046
          },
          {
            "time": {
              "arrival": "2023-12-06T07:12:45Z",
              "departure": "2023-12-06T07:13:45Z"
            },
            "load": [
              5
            ],
            "activities": [
              {
                "jobId": "Job_22",
                "type": "delivery",
                "location": {
                  "lat": 52.204826,
                  "lng": 21.003042
                },
                "time": {
                  "start": "2023-12-06T07:12:45Z",
                  "end": "2023-12-06T07:13:45Z"
                }
              }
            ],
            "location": {
              "lat": 52.204826,
              "lng": 21.003042
            },
            "distance": 3479
          },
          {
            "time": {
              "arrival": "2023-12-06T07:16:05Z",
              "departure": "2023-12-06T07:17:05Z"
            },
            "load": [
              4
            ],
            "activities": [
              {
                "jobId": "Job_5",
                "type": "delivery",
                "location": {
                  "lat": 52.201661,
                  "lng": 21.0019
                },
                "time": {
                  "start": "2023-12-06T07:16:05Z",
                  "end": "2023-12-06T07:17:05Z"
                }
              }
            ],
            "location": {
              "lat": 52.201661,
              "lng": 21.0019
            },
            "distance": 4271
          },
          {
            "time": {
              "arrival": "2023-12-06T07:19:47Z",
              "departure": "2023-12-06T07:20:47Z"
            },
            "load": [
              3
            ],
            "activities": [
              {
                "jobId": "Job_19",
                "type": "delivery",
                "location": {
                  "lat": 52.19785,
                  "lng": 21.004998
                },
                "time": {
                  "start": "2023-12-06T07:19:47Z",
                  "end": "2023-12-06T07:20:47Z"
                }
              }
            ],
            "location": {
              "lat": 52.19785,
              "lng": 21.004998
            },
            "distance": 5559
          },
          {
            "time": {
              "arrival": "2023-12-06T07:22:51Z",
              "departure": "2023-12-06T07:23:51Z"
            },
            "load": [
              2
            ],
            "activities": [
              {
                "jobId": "Job_18",
                "type": "delivery",
                "location": {
                  "lat": 52.199146,
                  "lng": 21.005134
                },
                "time": {
                  "start": "2023-12-06T07:22:51Z",
                  "end": "2023-12-06T07:23:51Z"
                }
              }
            ],
            "location": {
              "lat": 52.199146,
              "lng": 21.005134
            },
            "distance": 6091
          },
          {
            "time": {
              "arrival": "2023-12-06T07:25:11Z",
              "departure": "2023-12-06T07:26:11Z"
            },
            "load": [
              1
            ],
            "activities": [
              {
                "jobId": "Job_17",
                "type": "delivery",
                "location": {
                  "lat": 52.199205,
                  "lng": 21.009271
                },
                "time": {
                  "start": "2023-12-06T07:25:11Z",
                  "end": "2023-12-06T07:26:11Z"
                }
              }
            ],
            "location": {
              "lat": 52.199205,
              "lng": 21.009271
            },
            "distance": 6534
          },
          {
            "time": {
              "arrival": "2023-12-06T07:29:10Z",
              "departure": "2023-12-06T07:30:10Z"
            },
            "load": [
              0
            ],
            "activities": [
              {
                "jobId": "Job_16",
                "type": "delivery",
                "location": {
                  "lat": 52.202166,
                  "lng": 21.008065
                },
                "time": {
                  "start": "2023-12-06T07:29:10Z",
                  "end": "2023-12-06T07:30:10Z"
                }
              }
            ],
            "location": {
              "lat": 52.202166,
              "lng": 21.008065
            },
            "distance": 7521
          },
          {
            "time": {
              "arrival": "2023-12-06T07:34:12Z",
              "departure": "2023-12-06T07:34:12Z"
            },
            "load": [
              0
            ],
            "activities": [
              {
                "jobId": "arrival",
                "type": "arrival",
                "location": {
                  "lat": 52.213985,
                  "lng": 21.004046
                },
                "time": {
                  "start": "2023-12-06T07:34:12Z",
                  "end": "2023-12-06T07:34:12Z"
                }
              }
            ],
            "location": {
              "lat": 52.213985,
              "lng": 21.004046
            },
            "distance": 9335
          }
        ],
        "statistic": {
          "cost": 4691.604,
          "distance": 9335,
          "duration": 2052,
          "times": {
            "driving": 1452,
            "serving": 600,
            "waiting": 0,
            "stopping": 0,
            "break": 0
          }
        },
        "shiftIndex": 0
      }
    ]
  }

Use case 2: With the minimizeTourOverlap objective

To prioritize solutions where all tours cover distinct and compact geographical areas without overlapping, modify the vehicle routing problem in the following way:

  • Add the advancedObjectives feature as part of the experimentalFeatures array, as shown in the following snippet:

    "configuration": {
        "experimentalFeatures": [
          "advancedObjectives"
        ]
      }
  • Add the advancedObjectives array, including the minimizeTourOverlap objective, for example:

    "advancedObjectives": [
        [
          {
            "type": "minimizeUnassigned"
          }
        ],
        [
          {
            "type": "minimizeTours"
          }
        ],
        [
          {
            "type": "minimizeTourOverlap"
          }
        ],
        [
          {
            "type": "minimizeCost"
          }
        ]
      ]
📘

Note

Consider the following points about the objectives and their hierarchy, as provided in the previous example:

  • Placing the minimizeTourOverlap objective below the minimizeUnassigned and minimizeTours objectives ensures that the primary goals of minimizing unassigned jobs and using the optimal number of vehicles remain top priorities. This approach helps maintain predictable and efficient tour planning.
  • Placing the minimizeTourOverlap objective below the minimizeCost objective might have little effect in reducing tour overlap. In the example described, minimizeTourOverlap was intentionally placed above minimizeCost to ensure that reducing overlap remains a higher priority, while maintaining efficient and distinct routes.

See the full problem JSON for more information:

Click to expand/collapse the sample JSON
  {
    "fleet": {
      "types": [
        {
          "id": "vehicle_1",
          "profile": "vehicle",
          "costs": {
            "fixed": 20,
            "distance": 0.5,
            "time": 0.002
          },
          "shifts": [
            {
              "start": {
                "time": "2023-12-06T09:00:00+02:00",
                "location": {
                  "lat": 52.213985,
                  "lng": 21.004046
                }
              },
              "end": {
                "time": "2023-12-06T19:00:00+02:00",
                "location": {
                  "lat": 52.213985,
                  "lng": 21.004046
                }
              }
            }
          ],
          "capacity": [
            10
          ],
          "amount": 4
        }
      ],
      "profiles": [
        {
          "type": "scooter",
          "name": "vehicle"
        }
      ]
    },
    "plan": {
      "jobs": [
        {
          "id": "Job_0",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.198437,
                      "lng": 21.020396
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_1",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.196852,
                      "lng": 21.01393
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_2",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.210221,
                      "lng": 21.008033
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_3",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.211604,
                      "lng": 21.018408
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_4",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.196201,
                      "lng": 21.003641
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_5",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.201661,
                      "lng": 21.0019
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_6",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.208418,
                      "lng": 20.99924
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_7",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.208443,
                      "lng": 21.0039
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_8",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.2099,
                      "lng": 21.01501
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_9",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.208032,
                      "lng": 21.019491
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_10",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.207339,
                      "lng": 21.013889
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_11",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.206026,
                      "lng": 21.011517
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_12",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.207388,
                      "lng": 21.01074
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_13",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.206785,
                      "lng": 21.007355
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_14",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.205227,
                      "lng": 21.008841
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_15",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.20263,
                      "lng": 21.009905
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_16",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.202166,
                      "lng": 21.008065
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_17",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.199205,
                      "lng": 21.009271
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_18",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.199146,
                      "lng": 21.005134
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_19",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.19785,
                      "lng": 21.004998
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_20",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.204318,
                      "lng": 21.001053
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_21",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.205608,
                      "lng": 20.999893
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_22",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.204826,
                      "lng": 21.003042
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_23",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.206454,
                      "lng": 21.004241
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_24",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.197989,
                      "lng": 21.015325
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_25",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.197208,
                      "lng": 21.018194
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_26",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.200472,
                      "lng": 21.014328
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_27",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.201151,
                      "lng": 21.022592
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_28",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.198854,
                      "lng": 21.012977
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_29",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.199743,
                      "lng": 21.01647
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_30",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.198428,
                      "lng": 21.017885
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_31",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.202742,
                      "lng": 21.016829
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_32",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.20075,
                      "lng": 21.020079
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_33",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.205546,
                      "lng": 21.021793
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_34",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.20459,
                      "lng": 21.014063
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_35",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.203915,
                      "lng": 21.022401
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_36",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.19966,
                      "lng": 21.023483
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_37",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.198207,
                      "lng": 21.022368
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_38",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.206908,
                      "lng": 21.017486
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        },
        {
          "id": "Job_39",
          "tasks": {
            "deliveries": [
              {
                "places": [
                  {
                    "location": {
                      "lat": 52.208587,
                      "lng": 21.01048
                    },
                    "duration": 60
                  }
                ],
                "demand": [
                  1
                ]
              }
            ]
          }
        }
      ]
    },
    "configuration": {
      "experimentalFeatures": [
        "advancedObjectives"
      ]
    },
    "advancedObjectives": [
      [
        {
          "type": "minimizeUnassigned"
        }
      ],
      [
        {
          "type": "minimizeTours"
        }
      ],
      [
        {
          "type": "minimizeTourOverlap"
        }
      ],
      [
        {
          "type": "minimizeCost"
        }
      ]
    ]
  }

Solution

Because the objective to minimize tour overlap was included in the problem parameters, the optimization algorithm reflected that by creating much more separated and compact tours, as shown in the following figure:

Sample solution with non-overlapping tours

This updated tour plan enabled the scooter vehicles to cover smaller, more manageable areas, likely reducing the likelihood of delays caused by traffic congestion or route confusion.

The following section contains the full solution JSON:

Click to expand/collapse the sample JSON
  {
    "statistic": {
      "cost": 17541.021999999997,
      "distance": 34891,
      "duration": 7761,
      "times": {
        "driving": 5361,
        "serving": 2400,
        "waiting": 0,
        "stopping": 0,
        "break": 0
      }
    },
    "tours": [
      {
        "vehicleId": "vehicle_1_2",
        "typeId": "vehicle_1",
        "stops": [
          {
            "time": {
              "arrival": "2023-12-06T07:00:00Z",
              "departure": "2023-12-06T07:00:00Z"
            },
            "load": [
              10
            ],
            "activities": [
              {
                "jobId": "departure",
                "type": "departure",
                "location": {
                  "lat": 52.213985,
                  "lng": 21.004046
                },
                "time": {
                  "start": "2023-12-06T07:00:00Z",
                  "end": "2023-12-06T07:00:00Z"
                }
              }
            ],
            "location": {
              "lat": 52.213985,
              "lng": 21.004046
            },
            "distance": 0
          },
          {
            "time": {
              "arrival": "2023-12-06T07:02:37Z",
              "departure": "2023-12-06T07:03:37Z"
            },
            "load": [
              9
            ],
            "activities": [
              {
                "jobId": "Job_7",
                "type": "delivery",
                "location": {
                  "lat": 52.208443,
                  "lng": 21.0039
                },
                "time": {
                  "start": "2023-12-06T07:02:37Z",
                  "end": "2023-12-06T07:03:37Z"
                }
              }
            ],
            "location": {
              "lat": 52.208443,
              "lng": 21.0039
            },
            "distance": 1086
          },
          {
            "time": {
              "arrival": "2023-12-06T07:04:47Z",
              "departure": "2023-12-06T07:05:47Z"
            },
            "load": [
              8
            ],
            "activities": [
              {
                "jobId": "Job_6",
                "type": "delivery",
                "location": {
                  "lat": 52.208418,
                  "lng": 20.99924
                },
                "time": {
                  "start": "2023-12-06T07:04:47Z",
                  "end": "2023-12-06T07:05:47Z"
                }
              }
            ],
            "location": {
              "lat": 52.208418,
              "lng": 20.99924
            },
            "distance": 1463
          },
          {
            "time": {
              "arrival": "2023-12-06T07:07:21Z",
              "departure": "2023-12-06T07:08:21Z"
            },
            "load": [
              7
            ],
            "activities": [
              {
                "jobId": "Job_22",
                "type": "delivery",
                "location": {
                  "lat": 52.204826,
                  "lng": 21.003042
                },
                "time": {
                  "start": "2023-12-06T07:07:21Z",
                  "end": "2023-12-06T07:08:21Z"
                }
              }
            ],
            "location": {
              "lat": 52.204826,
              "lng": 21.003042
            },
            "distance": 2006
          },
          {
            "time": {
              "arrival": "2023-12-06T07:09:55Z",
              "departure": "2023-12-06T07:10:55Z"
            },
            "load": [
              6
            ],
            "activities": [
              {
                "jobId": "Job_20",
                "type": "delivery",
                "location": {
                  "lat": 52.204318,
                  "lng": 21.001053
                },
                "time": {
                  "start": "2023-12-06T07:09:55Z",
                  "end": "2023-12-06T07:10:55Z"
                }
              }
            ],
            "location": {
              "lat": 52.204318,
              "lng": 21.001053
            },
            "distance": 2491
          },
          {
            "time": {
              "arrival": "2023-12-06T07:11:43Z",
              "departure": "2023-12-06T07:12:43Z"
            },
            "load": [
              5
            ],
            "activities": [
              {
                "jobId": "Job_21",
                "type": "delivery",
                "location": {
                  "lat": 52.205608,
                  "lng": 20.999893
                },
                "time": {
                  "start": "2023-12-06T07:11:43Z",
                  "end": "2023-12-06T07:12:43Z"
                }
              }
            ],
            "location": {
              "lat": 52.205608,
              "lng": 20.999893
            },
            "distance": 2702
          },
          {
            "time": {
              "arrival": "2023-12-06T07:13:39Z",
              "departure": "2023-12-06T07:14:39Z"
            },
            "load": [
              4
            ],
            "activities": [
              {
                "jobId": "Job_23",
                "type": "delivery",
                "location": {
                  "lat": 52.206454,
                  "lng": 21.004241
                },
                "time": {
                  "start": "2023-12-06T07:13:39Z",
                  "end": "2023-12-06T07:14:39Z"
                }
              }
            ],
            "location": {
              "lat": 52.206454,
              "lng": 21.004241
            },
            "distance": 3142
          },
          {
            "time": {
              "arrival": "2023-12-06T07:16:43Z",
              "departure": "2023-12-06T07:17:43Z"
            },
            "load": [
              3
            ],
            "activities": [
              {
                "jobId": "Job_5",
                "type": "delivery",
                "location": {
                  "lat": 52.201661,
                  "lng": 21.0019
                },
                "time": {
                  "start": "2023-12-06T07:16:43Z",
                  "end": "2023-12-06T07:17:43Z"
                }
              }
            ],
            "location": {
              "lat": 52.201661,
              "lng": 21.0019
            },
            "distance": 3906
          },
          {
            "time": {
              "arrival": "2023-12-06T07:18:59Z",
              "departure": "2023-12-06T07:19:59Z"
            },
            "load": [
              2
            ],
            "activities": [
              {
                "jobId": "Job_16",
                "type": "delivery",
                "location": {
                  "lat": 52.202166,
                  "lng": 21.008065
                },
                "time": {
                  "start": "2023-12-06T07:18:59Z",
                  "end": "2023-12-06T07:19:59Z"
                }
              }
            ],
            "location": {
              "lat": 52.202166,
              "lng": 21.008065
            },
            "distance": 4589
          },
          {
            "time": {
              "arrival": "2023-12-06T07:23:45Z",
              "departure": "2023-12-06T07:24:45Z"
            },
            "load": [
              1
            ],
            "activities": [
              {
                "jobId": "Job_14",
                "type": "delivery",
                "location": {
                  "lat": 52.205227,
                  "lng": 21.008841
                },
                "time": {
                  "start": "2023-12-06T07:23:45Z",
                  "end": "2023-12-06T07:24:45Z"
                }
              }
            ],
            "location": {
              "lat": 52.205227,
              "lng": 21.008841
            },
            "distance": 5778
          },
          {
            "time": {
              "arrival": "2023-12-06T07:26:24Z",
              "departure": "2023-12-06T07:27:24Z"
            },
            "load": [
              0
            ],
            "activities": [
              {
                "jobId": "Job_13",
                "type": "delivery",
                "location": {
                  "lat": 52.206785,
                  "lng": 21.007355
                },
                "time": {
                  "start": "2023-12-06T07:26:24Z",
                  "end": "2023-12-06T07:27:24Z"
                }
              }
            ],
            "location": {
              "lat": 52.206785,
              "lng": 21.007355
            },
            "distance": 6365
          },
          {
            "time": {
              "arrival": "2023-12-06T07:32:04Z",
              "departure": "2023-12-06T07:32:04Z"
            },
            "load": [
              0
            ],
            "activities": [
              {
                "jobId": "arrival",
                "type": "arrival",
                "location": {
                  "lat": 52.213985,
                  "lng": 21.004046
                },
                "time": {
                  "start": "2023-12-06T07:32:04Z",
                  "end": "2023-12-06T07:32:04Z"
                }
              }
            ],
            "location": {
              "lat": 52.213985,
              "lng": 21.004046
            },
            "distance": 8166
          }
        ],
        "statistic": {
          "cost": 4106.848,
          "distance": 8166,
          "duration": 1924,
          "times": {
            "driving": 1324,
            "serving": 600,
            "waiting": 0,
            "stopping": 0,
            "break": 0
          }
        },
        "shiftIndex": 0
      },
      {
        "vehicleId": "vehicle_1_3",
        "typeId": "vehicle_1",
        "stops": [
          {
            "time": {
              "arrival": "2023-12-06T07:00:00Z",
              "departure": "2023-12-06T07:00:00Z"
            },
            "load": [
              10
            ],
            "activities": [
              {
                "jobId": "departure",
                "type": "departure",
                "location": {
                  "lat": 52.213985,
                  "lng": 21.004046
                },
                "time": {
                  "start": "2023-12-06T07:00:00Z",
                  "end": "2023-12-06T07:00:00Z"
                }
              }
            ],
            "location": {
              "lat": 52.213985,
              "lng": 21.004046
            },
            "distance": 0
          },
          {
            "time": {
              "arrival": "2023-12-06T07:05:33Z",
              "departure": "2023-12-06T07:06:33Z"
            },
            "load": [
              9
            ],
            "activities": [
              {
                "jobId": "Job_0",
                "type": "delivery",
                "location": {
                  "lat": 52.198437,
                  "lng": 21.020396
                },
                "time": {
                  "start": "2023-12-06T07:05:33Z",
                  "end": "2023-12-06T07:06:33Z"
                }
              }
            ],
            "location": {
              "lat": 52.198437,
              "lng": 21.020396
            },
            "distance": 2642
          },
          {
            "time": {
              "arrival": "2023-12-06T07:07:59Z",
              "departure": "2023-12-06T07:08:59Z"
            },
            "load": [
              8
            ],
            "activities": [
              {
                "jobId": "Job_30",
                "type": "delivery",
                "location": {
                  "lat": 52.198428,
                  "lng": 21.017885
                },
                "time": {
                  "start": "2023-12-06T07:07:59Z",
                  "end": "2023-12-06T07:08:59Z"
                }
              }
            ],
            "location": {
              "lat": 52.198428,
              "lng": 21.017885
            },
            "distance": 2958
          },
          {
            "time": {
              "arrival": "2023-12-06T07:09:50Z",
              "departure": "2023-12-06T07:10:50Z"
            },
            "load": [
              7
            ],
            "activities": [
              {
                "jobId": "Job_25",
                "type": "delivery",
                "location": {
                  "lat": 52.197208,
                  "lng": 21.018194
                },
                "time": {
                  "start": "2023-12-06T07:09:50Z",
                  "end": "2023-12-06T07:10:50Z"
                }
              }
            ],
            "location": {
              "lat": 52.197208,
              "lng": 21.018194
            },
            "distance": 3267
          },
          {
            "time": {
              "arrival": "2023-12-06T07:11:51Z",
              "departure": "2023-12-06T07:12:51Z"
            },
            "load": [
              6
            ],
            "activities": [
              {
                "jobId": "Job_37",
                "type": "delivery",
                "location": {
                  "lat": 52.198207,
                  "lng": 21.022368
                },
                "time": {
                  "start": "2023-12-06T07:11:51Z",
                  "end": "2023-12-06T07:12:51Z"
                }
              }
            ],
            "location": {
              "lat": 52.198207,
              "lng": 21.022368
            },
            "distance": 3571
          },
          {
            "time": {
              "arrival": "2023-12-06T07:15:00Z",
              "departure": "2023-12-06T07:16:00Z"
            },
            "load": [
              5
            ],
            "activities": [
              {
                "jobId": "Job_36",
                "type": "delivery",
                "location": {
                  "lat": 52.19966,
                  "lng": 21.023483
                },
                "time": {
                  "start": "2023-12-06T07:15:00Z",
                  "end": "2023-12-06T07:16:00Z"
                }
              }
            ],
            "location": {
              "lat": 52.19966,
              "lng": 21.023483
            },
            "distance": 4200
          },
          {
            "time": {
              "arrival": "2023-12-06T07:18:02Z",
              "departure": "2023-12-06T07:19:02Z"
            },
            "load": [
              4
            ],
            "activities": [
              {
                "jobId": "Job_33",
                "type": "delivery",
                "location": {
                  "lat": 52.205546,
                  "lng": 21.021793
                },
                "time": {
                  "start": "2023-12-06T07:18:02Z",
                  "end": "2023-12-06T07:19:02Z"
                }
              }
            ],
            "location": {
              "lat": 52.205546,
              "lng": 21.021793
            },
            "distance": 5043
          },
          {
            "time": {
              "arrival": "2023-12-06T07:20:52Z",
              "departure": "2023-12-06T07:21:52Z"
            },
            "load": [
              3
            ],
            "activities": [
              {
                "jobId": "Job_35",
                "type": "delivery",
                "location": {
                  "lat": 52.203915,
                  "lng": 21.022401
                },
                "time": {
                  "start": "2023-12-06T07:20:52Z",
                  "end": "2023-12-06T07:21:52Z"
                }
              }
            ],
            "location": {
              "lat": 52.203915,
              "lng": 21.022401
            },
            "distance": 5610
          },
          {
            "time": {
              "arrival": "2023-12-06T07:22:44Z",
              "departure": "2023-12-06T07:23:44Z"
            },
            "load": [
              2
            ],
            "activities": [
              {
                "jobId": "Job_27",
                "type": "delivery",
                "location": {
                  "lat": 52.201151,
                  "lng": 21.022592
                },
                "time": {
                  "start": "2023-12-06T07:22:44Z",
                  "end": "2023-12-06T07:23:44Z"
                }
              }
            ],
            "location": {
              "lat": 52.201151,
              "lng": 21.022592
            },
            "distance": 6048
          },
          {
            "time": {
              "arrival": "2023-12-06T07:24:12Z",
              "departure": "2023-12-06T07:25:12Z"
            },
            "load": [
              1
            ],
            "activities": [
              {
                "jobId": "Job_32",
                "type": "delivery",
                "location": {
                  "lat": 52.20075,
                  "lng": 21.020079
                },
                "time": {
                  "start": "2023-12-06T07:24:12Z",
                  "end": "2023-12-06T07:25:12Z"
                }
              }
            ],
            "location": {
              "lat": 52.20075,
              "lng": 21.020079
            },
            "distance": 6225
          },
          {
            "time": {
              "arrival": "2023-12-06T07:26:21Z",
              "departure": "2023-12-06T07:27:21Z"
            },
            "load": [
              0
            ],
            "activities": [
              {
                "jobId": "Job_31",
                "type": "delivery",
                "location": {
                  "lat": 52.202742,
                  "lng": 21.016829
                },
                "time": {
                  "start": "2023-12-06T07:26:21Z",
                  "end": "2023-12-06T07:27:21Z"
                }
              }
            ],
            "location": {
              "lat": 52.202742,
              "lng": 21.016829
            },
            "distance": 6632
          },
          {
            "time": {
              "arrival": "2023-12-06T07:31:35Z",
              "departure": "2023-12-06T07:31:35Z"
            },
            "load": [
              0
            ],
            "activities": [
              {
                "jobId": "arrival",
                "type": "arrival",
                "location": {
                  "lat": 52.213985,
                  "lng": 21.004046
                },
                "time": {
                  "start": "2023-12-06T07:31:35Z",
                  "end": "2023-12-06T07:31:35Z"
                }
              }
            ],
            "location": {
              "lat": 52.213985,
              "lng": 21.004046
            },
            "distance": 8718
          }
        ],
        "statistic": {
          "cost": 4382.79,
          "distance": 8718,
          "duration": 1895,
          "times": {
            "driving": 1295,
            "serving": 600,
            "waiting": 0,
            "stopping": 0,
            "break": 0
          }
        },
        "shiftIndex": 0
      },
      {
        "vehicleId": "vehicle_1_4",
        "typeId": "vehicle_1",
        "stops": [
          {
            "time": {
              "arrival": "2023-12-06T07:00:00Z",
              "departure": "2023-12-06T07:00:00Z"
            },
            "load": [
              10
            ],
            "activities": [
              {
                "jobId": "departure",
                "type": "departure",
                "location": {
                  "lat": 52.213985,
                  "lng": 21.004046
                },
                "time": {
                  "start": "2023-12-06T07:00:00Z",
                  "end": "2023-12-06T07:00:00Z"
                }
              }
            ],
            "location": {
              "lat": 52.213985,
              "lng": 21.004046
            },
            "distance": 0
          },
          {
            "time": {
              "arrival": "2023-12-06T07:02:42Z",
              "departure": "2023-12-06T07:03:42Z"
            },
            "load": [
              9
            ],
            "activities": [
              {
                "jobId": "Job_12",
                "type": "delivery",
                "location": {
                  "lat": 52.207388,
                  "lng": 21.01074
                },
                "time": {
                  "start": "2023-12-06T07:02:42Z",
                  "end": "2023-12-06T07:03:42Z"
                }
              }
            ],
            "location": {
              "lat": 52.207388,
              "lng": 21.01074
            },
            "distance": 1165
          },
          {
            "time": {
              "arrival": "2023-12-06T07:03:50Z",
              "departure": "2023-12-06T07:04:50Z"
            },
            "load": [
              8
            ],
            "activities": [
              {
                "jobId": "Job_39",
                "type": "delivery",
                "location": {
                  "lat": 52.208587,
                  "lng": 21.01048
                },
                "time": {
                  "start": "2023-12-06T07:03:50Z",
                  "end": "2023-12-06T07:04:50Z"
                }
              }
            ],
            "location": {
              "lat": 52.208587,
              "lng": 21.01048
            },
            "distance": 1230
          },
          {
            "time": {
              "arrival": "2023-12-06T07:06:25Z",
              "departure": "2023-12-06T07:07:25Z"
            },
            "load": [
              7
            ],
            "activities": [
              {
                "jobId": "Job_10",
                "type": "delivery",
                "location": {
                  "lat": 52.207339,
                  "lng": 21.013889
                },
                "time": {
                  "start": "2023-12-06T07:06:25Z",
                  "end": "2023-12-06T07:07:25Z"
                }
              }
            ],
            "location": {
              "lat": 52.207339,
              "lng": 21.013889
            },
            "distance": 1688
          },
          {
            "time": {
              "arrival": "2023-12-06T07:08:32Z",
              "departure": "2023-12-06T07:09:32Z"
            },
            "load": [
              6
            ],
            "activities": [
              {
                "jobId": "Job_34",
                "type": "delivery",
                "location": {
                  "lat": 52.20459,
                  "lng": 21.014063
                },
                "time": {
                  "start": "2023-12-06T07:08:32Z",
                  "end": "2023-12-06T07:09:32Z"
                }
              }
            ],
            "location": {
              "lat": 52.20459,
              "lng": 21.014063
            },
            "distance": 2061
          },
          {
            "time": {
              "arrival": "2023-12-06T07:12:12Z",
              "departure": "2023-12-06T07:13:12Z"
            },
            "load": [
              5
            ],
            "activities": [
              {
                "jobId": "Job_8",
                "type": "delivery",
                "location": {
                  "lat": 52.2099,
                  "lng": 21.01501
                },
                "time": {
                  "start": "2023-12-06T07:12:12Z",
                  "end": "2023-12-06T07:13:12Z"
                }
              }
            ],
            "location": {
              "lat": 52.2099,
              "lng": 21.01501
            },
            "distance": 2962
          },
          {
            "time": {
              "arrival": "2023-12-06T07:15:20Z",
              "departure": "2023-12-06T07:16:20Z"
            },
            "load": [
              4
            ],
            "activities": [
              {
                "jobId": "Job_3",
                "type": "delivery",
                "location": {
                  "lat": 52.211604,
                  "lng": 21.018408
                },
                "time": {
                  "start": "2023-12-06T07:15:20Z",
                  "end": "2023-12-06T07:16:20Z"
                }
              }
            ],
            "location": {
              "lat": 52.211604,
              "lng": 21.018408
            },
            "distance": 3710
          },
          {
            "time": {
              "arrival": "2023-12-06T07:17:46Z",
              "departure": "2023-12-06T07:18:46Z"
            },
            "load": [
              3
            ],
            "activities": [
              {
                "jobId": "Job_9",
                "type": "delivery",
                "location": {
                  "lat": 52.208032,
                  "lng": 21.019491
                },
                "time": {
                  "start": "2023-12-06T07:17:46Z",
                  "end": "2023-12-06T07:18:46Z"
                }
              }
            ],
            "location": {
              "lat": 52.208032,
              "lng": 21.019491
            },
            "distance": 4397
          },
          {
            "time": {
              "arrival": "2023-12-06T07:19:53Z",
              "departure": "2023-12-06T07:20:53Z"
            },
            "load": [
              2
            ],
            "activities": [
              {
                "jobId": "Job_38",
                "type": "delivery",
                "location": {
                  "lat": 52.206908,
                  "lng": 21.017486
                },
                "time": {
                  "start": "2023-12-06T07:19:53Z",
                  "end": "2023-12-06T07:20:53Z"
                }
              }
            ],
            "location": {
              "lat": 52.206908,
              "lng": 21.017486
            },
            "distance": 4693
          },
          {
            "time": {
              "arrival": "2023-12-06T07:22:32Z",
              "departure": "2023-12-06T07:23:32Z"
            },
            "load": [
              1
            ],
            "activities": [
              {
                "jobId": "Job_11",
                "type": "delivery",
                "location": {
                  "lat": 52.206026,
                  "lng": 21.011517
                },
                "time": {
                  "start": "2023-12-06T07:22:32Z",
                  "end": "2023-12-06T07:23:32Z"
                }
              }
            ],
            "location": {
              "lat": 52.206026,
              "lng": 21.011517
            },
            "distance": 5262
          },
          {
            "time": {
              "arrival": "2023-12-06T07:25:43Z",
              "departure": "2023-12-06T07:26:43Z"
            },
            "load": [
              0
            ],
            "activities": [
              {
                "jobId": "Job_2",
                "type": "delivery",
                "location": {
                  "lat": 52.210221,
                  "lng": 21.008033
                },
                "time": {
                  "start": "2023-12-06T07:25:43Z",
                  "end": "2023-12-06T07:26:43Z"
                }
              }
            ],
            "location": {
              "lat": 52.210221,
              "lng": 21.008033
            },
            "distance": 6064
          },
          {
            "time": {
              "arrival": "2023-12-06T07:29:22Z",
              "departure": "2023-12-06T07:29:22Z"
            },
            "load": [
              0
            ],
            "activities": [
              {
                "jobId": "arrival",
                "type": "arrival",
                "location": {
                  "lat": 52.213985,
                  "lng": 21.004046
                },
                "time": {
                  "start": "2023-12-06T07:29:22Z",
                  "end": "2023-12-06T07:29:22Z"
                }
              }
            ],
            "location": {
              "lat": 52.213985,
              "lng": 21.004046
            },
            "distance": 7005
          }
        ],
        "statistic": {
          "cost": 3526.024,
          "distance": 7005,
          "duration": 1762,
          "times": {
            "driving": 1162,
            "serving": 600,
            "waiting": 0,
            "stopping": 0,
            "break": 0
          }
        },
        "shiftIndex": 0
      },
      {
        "vehicleId": "vehicle_1_1",
        "typeId": "vehicle_1",
        "stops": [
          {
            "time": {
              "arrival": "2023-12-06T07:00:00Z",
              "departure": "2023-12-06T07:00:00Z"
            },
            "load": [
              10
            ],
            "activities": [
              {
                "jobId": "departure",
                "type": "departure",
                "location": {
                  "lat": 52.213985,
                  "lng": 21.004046
                },
                "time": {
                  "start": "2023-12-06T07:00:00Z",
                  "end": "2023-12-06T07:00:00Z"
                }
              }
            ],
            "location": {
              "lat": 52.213985,
              "lng": 21.004046
            },
            "distance": 0
          },
          {
            "time": {
              "arrival": "2023-12-06T07:02:55Z",
              "departure": "2023-12-06T07:03:55Z"
            },
            "load": [
              9
            ],
            "activities": [
              {
                "jobId": "Job_15",
                "type": "delivery",
                "location": {
                  "lat": 52.20263,
                  "lng": 21.009905
                },
                "time": {
                  "start": "2023-12-06T07:02:55Z",
                  "end": "2023-12-06T07:03:55Z"
                }
              }
            ],
            "location": {
              "lat": 52.20263,
              "lng": 21.009905
            },
            "distance": 1561
          },
          {
            "time": {
              "arrival": "2023-12-06T07:06:38Z",
              "departure": "2023-12-06T07:07:38Z"
            },
            "load": [
              8
            ],
            "activities": [
              {
                "jobId": "Job_4",
                "type": "delivery",
                "location": {
                  "lat": 52.196201,
                  "lng": 21.003641
                },
                "time": {
                  "start": "2023-12-06T07:06:38Z",
                  "end": "2023-12-06T07:07:38Z"
                }
              }
            ],
            "location": {
              "lat": 52.196201,
              "lng": 21.003641
            },
            "distance": 2754
          },
          {
            "time": {
              "arrival": "2023-12-06T07:11:52Z",
              "departure": "2023-12-06T07:12:52Z"
            },
            "load": [
              7
            ],
            "activities": [
              {
                "jobId": "Job_19",
                "type": "delivery",
                "location": {
                  "lat": 52.19785,
                  "lng": 21.004998
                },
                "time": {
                  "start": "2023-12-06T07:11:52Z",
                  "end": "2023-12-06T07:12:52Z"
                }
              }
            ],
            "location": {
              "lat": 52.19785,
              "lng": 21.004998
            },
            "distance": 4843
          },
          {
            "time": {
              "arrival": "2023-12-06T07:14:56Z",
              "departure": "2023-12-06T07:15:56Z"
            },
            "load": [
              6
            ],
            "activities": [
              {
                "jobId": "Job_18",
                "type": "delivery",
                "location": {
                  "lat": 52.199146,
                  "lng": 21.005134
                },
                "time": {
                  "start": "2023-12-06T07:14:56Z",
                  "end": "2023-12-06T07:15:56Z"
                }
              }
            ],
            "location": {
              "lat": 52.199146,
              "lng": 21.005134
            },
            "distance": 5375
          },
          {
            "time": {
              "arrival": "2023-12-06T07:17:16Z",
              "departure": "2023-12-06T07:18:16Z"
            },
            "load": [
              5
            ],
            "activities": [
              {
                "jobId": "Job_17",
                "type": "delivery",
                "location": {
                  "lat": 52.199205,
                  "lng": 21.009271
                },
                "time": {
                  "start": "2023-12-06T07:17:16Z",
                  "end": "2023-12-06T07:18:16Z"
                }
              }
            ],
            "location": {
              "lat": 52.199205,
              "lng": 21.009271
            },
            "distance": 5818
          },
          {
            "time": {
              "arrival": "2023-12-06T07:21:31Z",
              "departure": "2023-12-06T07:22:31Z"
            },
            "load": [
              4
            ],
            "activities": [
              {
                "jobId": "Job_1",
                "type": "delivery",
                "location": {
                  "lat": 52.196852,
                  "lng": 21.01393
                },
                "time": {
                  "start": "2023-12-06T07:21:31Z",
                  "end": "2023-12-06T07:22:31Z"
                }
              }
            ],
            "location": {
              "lat": 52.196852,
              "lng": 21.01393
            },
            "distance": 7165
          },
          {
            "time": {
              "arrival": "2023-12-06T07:24:13Z",
              "departure": "2023-12-06T07:25:13Z"
            },
            "load": [
              3
            ],
            "activities": [
              {
                "jobId": "Job_24",
                "type": "delivery",
                "location": {
                  "lat": 52.197989,
                  "lng": 21.015325
                },
                "time": {
                  "start": "2023-12-06T07:24:13Z",
                  "end": "2023-12-06T07:25:13Z"
                }
              }
            ],
            "location": {
              "lat": 52.197989,
              "lng": 21.015325
            },
            "distance": 7619
          },
          {
            "time": {
              "arrival": "2023-12-06T07:26:00Z",
              "departure": "2023-12-06T07:27:00Z"
            },
            "load": [
              2
            ],
            "activities": [
              {
                "jobId": "Job_28",
                "type": "delivery",
                "location": {
                  "lat": 52.198854,
                  "lng": 21.012977
                },
                "time": {
                  "start": "2023-12-06T07:26:00Z",
                  "end": "2023-12-06T07:27:00Z"
                }
              }
            ],
            "location": {
              "lat": 52.198854,
              "lng": 21.012977
            },
            "distance": 7858
          },
          {
            "time": {
              "arrival": "2023-12-06T07:27:50Z",
              "departure": "2023-12-06T07:28:50Z"
            },
            "load": [
              1
            ],
            "activities": [
              {
                "jobId": "Job_29",
                "type": "delivery",
                "location": {
                  "lat": 52.199743,
                  "lng": 21.01647
                },
                "time": {
                  "start": "2023-12-06T07:27:50Z",
                  "end": "2023-12-06T07:28:50Z"
                }
              }
            ],
            "location": {
              "lat": 52.199743,
              "lng": 21.01647
            },
            "distance": 8170
          },
          {
            "time": {
              "arrival": "2023-12-06T07:30:10Z",
              "departure": "2023-12-06T07:31:10Z"
            },
            "load": [
              0
            ],
            "activities": [
              {
                "jobId": "Job_26",
                "type": "delivery",
                "location": {
                  "lat": 52.200472,
                  "lng": 21.014328
                },
                "time": {
                  "start": "2023-12-06T07:30:10Z",
                  "end": "2023-12-06T07:31:10Z"
                }
              }
            ],
            "location": {
              "lat": 52.200472,
              "lng": 21.014328
            },
            "distance": 8554
          },
          {
            "time": {
              "arrival": "2023-12-06T07:36:20Z",
              "departure": "2023-12-06T07:36:20Z"
            },
            "load": [
              0
            ],
            "activities": [
              {
                "jobId": "arrival",
                "type": "arrival",
                "location": {
                  "lat": 52.213985,
                  "lng": 21.004046
                },
                "time": {
                  "start": "2023-12-06T07:36:20Z",
                  "end": "2023-12-06T07:36:20Z"
                }
              }
            ],
            "location": {
              "lat": 52.213985,
              "lng": 21.004046
            },
            "distance": 11002
          }
        ],
        "statistic": {
          "cost": 5525.36,
          "distance": 11002,
          "duration": 2180,
          "times": {
            "driving": 1580,
            "serving": 600,
            "waiting": 0,
            "stopping": 0,
            "break": 0
          }
        },
        "shiftIndex": 0
      }
    ]
  }

Next steps

  • For more information about formulating problems in the HERE Tour Planning API, see Problem.
  • For an in-depth exploration of the HERE Tour Planning API methods, endpoints, and parameters, see the API Reference.