Multi vehicle optimization

Request

Example shows VRP case for delivery within city.

{
  "locations": [
    {
      "location_id": "depot",
      "coordinates": "48.212870,17.174013"
    },
    {
      "location_id": "customer01",
      "coordinates": "48.14713,17.0843",
      "availability": {
        "earliest_start": "2017-03-02T08:00:00",
        "latest_end": "2017-03-02T08:30:00"
      }
    },
    {
      "location_id": "customer02",
      "coordinates": "48.15349,17.08556",
      "availability": {
        "earliest_start": "2017-03-02T08:00:00",
        "latest_end": "2017-03-02T08:30:00"
      }
    },
    {
      "location_id": "customer03",
      "coordinates": "48.14932,17.21944",
      "availability": {
        "earliest_start": "2017-03-02T08:00:00",
        "latest_end": "2017-03-02T18:00:00"
      }
    },
    {
      "location_id": "customer04",
      "coordinates": "48.16555,17.13828",
      "availability": {
        "earliest_start": "2017-03-02T08:00:00",
        "latest_end": "2017-03-02T18:00:00"
      }
    },
    {
      "location_id": "customer05",
      "coordinates": "48.15032,17.15797",
      "availability": {
        "earliest_start": "2017-03-02T09:45:00",
        "latest_end": "2017-03-02T18:00:00"
      }
    }
  ],
  "vehicles": [
    {
      "vehicle_id": "vehicle1",
      "cost_per_km": 1,
      "cost_per_hour": 0,
      "start_location_id": "depot",
      "end_location_id": "depot",
      "max_capacity": [
        5
      ],
      "availability": {
        "earliest_start": "2017-03-02T08:00:00",
        "latest_end": "2017-03-02T18:00:00"
      }
    },
    {
      "vehicle_id": "vehicle2",
      "cost_per_km": 10,
      "cost_per_hour": 0,
      "start_location_id": "depot",
      "end_location_id": "depot",
      "max_capacity": [
        2
      ],
      "availability": {
        "earliest_start": "2017-03-02T08:00:00",
        "latest_end": "2017-03-02T18:00:00"
      }
    },
    {
      "vehicle_id": "vehicle3",
      "cost_per_km": 100,
      "cost_per_hour": 0,
      "start_location_id": "depot",
      "end_location_id": "depot",
      "max_capacity": [
        2
      ],
      "availability": {
        "earliest_start": "2017-03-02T08:00:00",
        "latest_end": "2017-03-02T18:00:00"
      }
    }
  ],
  "tasks": [
    {
      "task_id": "task01",
      "capacity": [
        2
      ],
      "activities": [
        {
          "activity_type": "pickup",
          "location_id": "depot"
        },
        {
          "activity_type": "delivery",
          "location_id": "customer01",
          "service_time": "00:00:00"
        }
      ]
    },
    {
      "task_id": "task02",
      "priority": "critical",
      "compatible_vehicles": [
        "vehicle2"
      ],
      "capacity": [
        1
      ],
      "activities": [
        {
          "activity_type": "pickup",
          "location_id": "depot"
        },
        {
          "activity_type": "delivery",
          "location_id": "customer02"
        }
      ]
    },
    {
      "task_id": "task03",
      "compatible_vehicles": [
        "vehicle2",
        "vehicle3"
      ],
      "capacity": [
        1
      ],
      "activities": [
        {
          "activity_type": "pickup",
          "location_id": "depot"
        },
        {
          "activity_type": "delivery",
          "location_id": "customer03"
        }
      ]
    },
    {
      "task_id": "task04",
      "compatible_vehicles": [
        "vehicle3"
      ],
      "capacity": [
        1
      ],
      "activities": [
        {
          "activity_type": "pickup",
          "location_id": "depot"
        },
        {
          "activity_type": "delivery",
          "location_id": "customer04",
          "service_time": "00:00:00"
        }
      ]
    },
    {
      "task_id": "task05",
      "capacity": [
        1
      ],
      "activities": [
        {
          "activity_type": "pickup",
          "location_id": "depot"
        },
        {
          "activity_type": "delivery",
          "location_id": "customer05"
        }
      ]
    }
  ]
}

Response

{
    "locations": [
        {
            "location_id": "depot",
            "coordinates": "48.21287,17.17401"
        },
        {
            "location_id": "customer01",
            "coordinates": "48.14713,17.08430",
            "availability": {
                "earliest_start": "2017-03-02T08:00:00Z",
                "latest_end": "2017-03-02T08:30:00Z"
            }
        },
        {
            "location_id": "customer02",
            "coordinates": "48.15349,17.08556",
            "availability": {
                "earliest_start": "2017-03-02T08:00:00Z",
                "latest_end": "2017-03-02T08:30:00Z"
            }
        },
        {
            "location_id": "customer03",
            "coordinates": "48.14932,17.21944",
            "availability": {
                "earliest_start": "2017-03-02T08:00:00Z",
                "latest_end": "2017-03-02T18:00:00Z"
            }
        },
        {
            "location_id": "customer04",
            "coordinates": "48.16555,17.13828",
            "availability": {
                "earliest_start": "2017-03-02T08:00:00Z",
                "latest_end": "2017-03-02T18:00:00Z"
            }
        },
        {
            "location_id": "customer05",
            "coordinates": "48.15032,17.15797",
            "availability": {
                "earliest_start": "2017-03-02T09:45:00Z",
                "latest_end": "2017-03-02T18:00:00Z"
            }
        }
    ],
    "plan": [
        {
            "vehicle_id": "vehicle1",
            "activities": [
                {
                    "sequence": 0,
                    "timestamp": "2017-03-02T08:06:45Z",
                    "location_id": "depot"
                },
                {
                    "sequence": 1,
                    "timestamp": "2017-03-02T08:30:00Z",
                    "task_id": "task01",
                    "location_id": "customer01",
                    "travel_distance": 13945,
                    "travel_duration": "00:23:15",
                    "wait_duration": "01:00:02"
                },
                {
                    "sequence": 2,
                    "timestamp": "2017-03-02T09:45:00Z",
                    "task_id": "task05",
                    "location_id": "customer05",
                    "travel_distance": 8179,
                    "travel_duration": "00:14:58"
                },
                {
                    "sequence": 3,
                    "timestamp": "2017-03-02T10:01:29Z",
                    "location_id": "depot",
                    "travel_distance": 12518,
                    "travel_duration": "00:16:29"
                }
            ],
            "statistics": {
                "travel_distance": 34642,
                "travel_duration": "00:54:42",
                "service_duration": "00:00:00",
                "wait_duration": "01:00:02",
                "total_duration": "01:54:44",
                "served_tasks": 2
            }
        },
        {
            "vehicle_id": "vehicle2",
            "activities": [
                {
                    "sequence": 0,
                    "timestamp": "2017-03-02T08:00:00Z",
                    "location_id": "depot"
                },
                {
                    "sequence": 1,
                    "timestamp": "2017-03-02T08:23:57Z",
                    "task_id": "task02",
                    "location_id": "customer02",
                    "travel_distance": 14587,
                    "travel_duration": "00:23:57"
                },
                {
                    "sequence": 2,
                    "timestamp": "2017-03-02T08:46:08Z",
                    "task_id": "task03",
                    "location_id": "customer03",
                    "travel_distance": 15798,
                    "travel_duration": "00:22:11"
                },
                {
                    "sequence": 3,
                    "timestamp": "2017-03-02T09:06:59Z",
                    "location_id": "depot",
                    "travel_distance": 14986,
                    "travel_duration": "00:20:51"
                }
            ],
            "statistics": {
                "travel_distance": 45371,
                "travel_duration": "01:06:59",
                "service_duration": "00:00:00",
                "wait_duration": "00:00:00",
                "total_duration": "01:06:59",
                "served_tasks": 2
            }
        },
        {
            "vehicle_id": "vehicle3",
            "activities": [
                {
                    "sequence": 0,
                    "timestamp": "2017-03-02T08:00:00Z",
                    "location_id": "depot"
                },
                {
                    "sequence": 1,
                    "timestamp": "2017-03-02T08:15:44Z",
                    "task_id": "task04",
                    "location_id": "customer04",
                    "travel_distance": 9858,
                    "travel_duration": "00:15:44"
                },
                {
                    "sequence": 2,
                    "timestamp": "2017-03-02T08:30:23Z",
                    "location_id": "depot",
                    "travel_distance": 9276,
                    "travel_duration": "00:14:39"
                }
            ],
            "statistics": {
                "travel_distance": 19134,
                "travel_duration": "00:30:23",
                "service_duration": "00:00:00",
                "wait_duration": "00:00:00",
                "total_duration": "00:30:23",
                "served_tasks": 1
            }
        }
    ],
    "statistics": {
        "travel_distance": 99147,
        "travel_duration": "02:32:04",
        "service_duration": "00:00:00",
        "wait_duration": "01:00:02",
        "total_duration": "03:32:06",
        "served_tasks": 5,
        "dropped_tasks": 0,
        "total_tasks": 5,
        "used_vehicles": 3,
        "total_vehicles": 3
    },
    "state": "Finished",
    "status": "OK",
    "copyright": "© 2017 Sygic a.s."
}