Minimum jobs not being respected in route optimization API

Is there any way to ensure that drivers minimum jobs are actually respected? We have a situation where we have one order to be picked up and delivered and one driver being clocked in and ready to go with several more drivers expected in the next half hour or so.

Accordingly to ensure that the clocked in driver isn’t just sitting idle and wasting time we assign him a min_jobs of 1 while the drivers expected in the near future have no min_jobs at all. Assigning the clocked in driver to the order would also have delivered the order faster which is a major benefit for our business case.

Yet despite the min_jobs field and the obvious benefit of sending the driver that can deliver it the fastest the route optimization API stubbornly refuses to consider the clocked in driver because he is currently located 1 minute further away from the pickup location compared to our home base from which the drivers who haven’t shown up start their routes.

Is there any way to work around this or do we just need to write custom logic on our end and throw out the other drivers to ensure a sane result? We would rather have to write as little logic and our end as possible and just trust in the optimizer but under light load these results are just bad.

Below is the full problem sent and the relevant part of the solution for reference.

{
  "vehicle_types": [
    {
      "type_id": "Unknown-Unknown-25",
      "capacity": [
        25
      ],
      "profile": "car",
      "consider_traffic": true
    },
    {
      "type_id": "Renault-Zoe-25",
      "capacity": [
        25
      ],
      "profile": "car",
      "consider_traffic": true
    }
  ],
  "vehicles": [
    {
      "vehicle_id": "DuTHdCKYmDTnXAmcp",
      "start_address": {
        "location_id": "Base",
        "lon": -21.87408,
        "lat": 64.130845
      },
      "earliest_start": 1674558300,
      "latest_end": 1674587100,
      "max_jobs": 30,
      "return_to_depot": false,
      "max_distance": 200000,
      "skills": [
        "food",
        "n_hopp"
      ],
      "type_id": "Unknown-Unknown-25"
    },
    {
      "vehicle_id": "RJZpejjANNz7mGpnn",
      "start_address": {
        "location_id": "Base",
        "lon": -21.87408,
        "lat": 64.130845
      },
      "earliest_start": 1674558300,
      "latest_end": 1674594300,
      "max_jobs": 30,
      "return_to_depot": false,
      "max_distance": 200000,
      "skills": [
        "food",
        "n_hopp"
      ],
      "type_id": "Unknown-Unknown-25"
    },
    {
      "vehicle_id": "gSsknkzABiJ7TeKQo",
      "start_address": {
        "location_id": "Driving",
        "lon": -21.8700033,
        "lat": 64.1298467
      },
      "earliest_start": 1674556435,
      "latest_end": 1674583500,
      "max_jobs": 30,
      "return_to_depot": false,
      "max_distance": 200000,
      "skills": [
        "food",
        "n_hopp"
      ],
      "type_id": "Renault-Zoe-25",
      "min_jobs": 1
    },
    {
      "vehicle_id": "oRqZEx583fFdiR7cD",
      "start_address": {
        "location_id": "Base",
        "lon": -21.87408,
        "lat": 64.130845
      },
      "earliest_start": 1674558300,
      "latest_end": 1674590700,
      "max_jobs": 30,
      "return_to_depot": false,
      "max_distance": 200000,
      "skills": [
        "food",
        "n_hopp"
      ],
      "type_id": "Unknown-Unknown-25"
    },
    {
      "vehicle_id": "smCJ8HhgWPwYLgbwL",
      "start_address": {
        "location_id": "200",
        "lon": -21.9011193026651,
        "lat": 64.1122977594193
      },
      "earliest_start": 1674561248,
      "latest_end": 1674574500,
      "max_jobs": 30,
      "return_to_depot": false,
      "max_distance": 200000,
      "skills": [
        "food",
        "n_hopp"
      ],
      "type_id": "Unknown-Unknown-25"
    },
    {
      "vehicle_id": "zdh8PdydR2TBusLeK",
      "start_address": {
        "location_id": "Base",
        "lon": -21.87408,
        "lat": 64.130845
      },
      "earliest_start": 1674558300,
      "latest_end": 1674590700,
      "max_jobs": 30,
      "return_to_depot": false,
      "max_distance": 200000,
      "skills": [
        "food",
        "n_hopp"
      ],
      "type_id": "Unknown-Unknown-25"
    },
    {
      "vehicle_id": "zmcohBFjGTEg6KZzb",
      "start_address": {
        "location_id": "Base",
        "lon": -21.87408,
        "lat": 64.130845
      },
      "earliest_start": 1674558300,
      "latest_end": 1674594300,
      "max_jobs": 30,
      "return_to_depot": false,
      "max_distance": 200000,
      "skills": [
        "food",
        "n_hopp"
      ],
      "type_id": "Unknown-Unknown-25"
    }
  ],
  "shipments": [
    {
      "id": "66ZE7i5qpLKZRakwH",
      "pickup": {
        "address": {
          "location_id": "108",
          "lat": 64.13992,
          "lon": -21.886781
        },
        "preparation_time": 240,
        "duration": 60,
        "time_windows": [
          {
            "earliest": 1674557036,
            "latest": 1674559050
          }
        ]
      },
      "delivery": {
        "address": {
          "location_id": "105",
          "lon": -21.90263062514,
          "lat": 64.1411131271014
        },
        "duration": 240,
        "time_windows": [
          {
            "earliest": 1674557036,
            "latest": 1674559050
          }
        ]
      },
      "size": [
        1
      ],
      "max_time_in_vehicle": 1440,
      "required_skills": [
        "food"
      ],
      "priority": 8
    }
  ],
  "services": [],
  "relations": [],
  "objectives": [
    {
      "type": "min-max",
      "value": "completion_time"
    }
  ],
  "configuration": {
    "routing": {
      "calc_points": true
    }
  }
}
[
  {
    "vehicle_id": "DuTHdCKYmDTnXAmcp",
    "shift_id": "default-shift",
    "distance": 3398,
    "transport_time": 412,
    "completion_time": 952,
    "waiting_time": 0,
    "service_duration": 300,
    "preparation_time": 240,
    "activities": [
      {
        "type": "start",
        "location_id": "Base",
        "address": {
          "location_id": "Base",
          "lat": 64.130845,
          "lon": -21.87408
        },
        "arr_time": 1674558300,
        "arr_date_time": "2023-01-24T11:05:00Z",
        "end_time": 1674558300,
        "end_date_time": "2023-01-24T11:05:00Z",
        "waiting_time": 0,
        "distance": 0,
        "driving_time": 0,
        "preparation_time": 0,
        "load_after": [
          0
        ]
      },
      {
        "type": "pickupShipment",
        "id": "66ZE7i5qpLKZRakwH",
        "location_id": "108",
        "address": {
          "location_id": "108",
          "lat": 64.13992,
          "lon": -21.886781
        },
        "arr_time": 1674558476,
        "arr_date_time": "2023-01-24T11:07:56Z",
        "end_time": 1674558776,
        "end_date_time": "2023-01-24T11:12:56Z",
        "waiting_time": 0,
        "distance": 1609,
        "driving_time": 176,
        "preparation_time": 240,
        "load_before": [
          0
        ],
        "load_after": [
          1
        ]
      },
      {
        "type": "deliverShipment",
        "id": "66ZE7i5qpLKZRakwH",
        "location_id": "105",
        "address": {
          "location_id": "105",
          "lat": 64.1411131271014,
          "lon": -21.90263062514
        },
        "arr_time": 1674559012,
        "arr_date_time": "2023-01-24T11:16:52Z",
        "end_time": 1674559252,
        "end_date_time": "2023-01-24T11:20:52Z",
        "waiting_time": 0,
        "distance": 3398,
        "driving_time": 412,
        "preparation_time": 0,
        "load_before": [
          1
        ],
        "load_after": [
          0
        ]
      }
    ],
    "points": [
      ...
    ]
  }
]