Skip to content

Unable to mix vehicles with and without skills #586

@louisnow

Description

@louisnow
{
  "vehicles": [
    {
      "id": 0,
      "profile": "car",
      "start_index": 0,
      "capacity": [],
      "skills": [123],
      "time_window": [1621490400, 1621533600],
      "end_index": 5
    },
    {
      "id": 1,
      "profile": "car",
      "start_index": 1,
      "capacity": [],
      "skills": [],
      "time_window": [1621490400, 1621533600],
      "end_index": 6
    }
  ],
  "jobs": [
    {
      "id": 2,
      "location_index": 2,
      "service": 900,
      "skills": [123],
      "time_windows": [[1621490400, 1621532700]]
    },
    {
      "id": 3,
      "location_index": 3,
      "service": 900,
      "skills": [],
      "time_windows": [[1621490400, 1621532700]]
    },
    {
      "id": 4,
      "location_index": 4,
      "service": 900,
      "skills": [],
      "time_windows": [[1621490400, 1621532700]]
    }
  ],
  "shipments": [],
  "matrices": {
    "car": {
      "durations": [
        [0, 4977, 4621, 2221, 8121, 9400, 5620],
        [4991, 0, 2052, 4513, 6844, 7040, 2730],
        [4469, 1962, 0, 3623, 5828, 5990, 1845],
        [2219, 4560, 3844, 0, 6564, 7834, 4842],
        [8124, 6816, 5612, 6495, 0, 3043, 5405],
        [9376, 7027, 5181, 7746, 3014, 0, 5448],
        [5581, 2846, 1229, 4734, 5312, 5550, 0]
      ]
    }
  },
  "options": {
    "c": false
  }
}

Currently the API fails saying missing skills.

If we remove '123' from vehicle 0, the API does not error.
If I instead add a dummy skill '456' to vehicle 1, it again does not error either.

I want to be able to say jobs with no skills can be serviced by any vehicle with or without skills. So vehicle 1 or vehicle 0 can service jobs with no skills.

As a workaround I currently add a default skill to all vehicles and to those jobs that have no skills. This allows no skilled jobs to be serviced by any vehicle.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions